力扣2401.最长优雅子数组
-
用mask处理此前所有数的1的位置
- 删去nums[j]时用 ^ 是因为之前^过 再^一次就没了
-
class Solution { public: int longestNiceSubarray(vector<int>& nums) { int res=0; int mask = 0; for(int i=0,j=0;i<nums.size();i++) { while((mask & nums[i]) != 0) mask ^= nums[j++]; //再把nums[i] ^上 mask ^= nums[i]; res = max(res,i-j+1); } return res; } };