LeetCode 2401 最长优雅子数组

LeetCode 2401 最长优雅子数组

🟡 中等 https://leetcode.cn/problems/longest-nice-subarray/description/

https://leetcode.cn/problems/longest-nice-subarray/solutions/2858719/bu-yong-yi-huo-by-fighting13-y5vo/

class Solution {

public:

    int longestNiceSubarray(vector<int>& nums) {

        int res = 1;

        int left =0;

        int pre_sum = nums[0];

  

        for (int i = 1; i < nums.size(); i++) {

            int c = nums[i]&pre_sum;

            if(c==0){

                pre_sum+=nums[i];

            }else{

                while(left<=i-1){

                    pre_sum-=nums[left];

                    left++;

                    if((nums[i]&pre_sum)==0){

                        break;

                    }

                }

                pre_sum+=nums[i];

            }

            res = max(res,i-left+1);

        }

        return res;

    }

};