下午小练周赛第三题6169. 最长优雅子数组这种题目拿到手先看数组长度10^5暴力肯定超时两种思路 1、dp2、滑窗当时用的滑窗但是对位运算并不熟悉 本质上还是暴力 超时通过56/61先感谢大佬的答案看题解1、2、8 的二进制分别为0001 0010 1000则判断一个数能否与[1,2,8]相与为0可以转化为x&(1|2|8) 这样就有思路了当新的数来到时 如果新的数与此时的(1|2|8|..|..|..)(称为temp)的数为0时 则temp|新的数否则用异或来消除影响 因为异或会在相同为0 不同为1当一个数与此时的temp相与不为0 则代表着有1冲突 则用异或消除 且让左指针++继续判断下一个数

如果一个一个数字比较 会超时的