力扣2401.最长优雅子数组

力扣2401.最长优雅子数组

  • 用mask处理此前所有数的1的位置

    • 删去nums[j]时用 ^ 是因为之前^过 再^一次就没了
cpp 复制代码
  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;
      }
  };
相关推荐
啊我不会诶8 小时前
2024北京市赛补题
c++·算法
shehuiyuelaiyuehao8 小时前
算法13,滑动窗口,水果成篮
算法·哈希算法·散列表
智慧物业老杨8 小时前
物业数智化转型实战:从单一服务到综合解决方案的技术落地路径
人工智能·算法·ai
自我意识的多元宇宙8 小时前
数据结构--散列函数的构造方法
数据结构
如君愿8 小时前
考研复习 Day 25 | 习题--计算机网络第三章(数据链路层 上)、数据结构(串)
数据结构·计算机网络·考研
夏末蝉未鸣018 小时前
Sort-Merge Join【排序连接算法】详解(python代码实现,以FULL JOIN为例)
数据结构·算法
tjl521314_218 小时前
01C++ 分离编译与多文件编程
前端·c++·算法
_日拱一卒8 小时前
LeetCode:23合并K个升序链表
java·数据结构·算法·leetcode·链表·职场和发展
哆啦刘小洋9 小时前
【LeetCode每日一题】:2033(贪心+快速排序魔改)
算法·leetcode
WolfGang0073219 小时前
代码随想录算法训练营 Day48 | 图论 part06
算法·图论