力扣2401.最长优雅子数组

力扣2401.最长优雅子数组

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

    • 删去numsj时用 ^ 是因为之前^过 再^一次就没了
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;
      }
  };
相关推荐
qeen878 分钟前
【C++】vector的模拟实现详解(二)
c++·学习·算法·迭代器·stl
流浪00125 分钟前
数据结构篇(四):线性表——链表——双链表
数据结构·链表
小七在进步1 小时前
数据结构:堆排序
数据结构
可编程芯片开发13 小时前
基于MATLAB的PEF湍流风场生成器模拟与仿真
算法
罗西的思考13 小时前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (9)--- Reward Judging
人工智能·算法·机器学习
2401_8414956413 小时前
【数据结构】B+树
数据结构·数据库·c++·b+树·概念·结构·操作原理
Mr.HeBoYan14 小时前
一次持续三天才出现的丢包故障——深入解析 DPDK Memory Ordering、rte_ring 与 CPU Memory Barrier (下)
linux·网络·算法·架构·dpdk
wabs66615 小时前
关于图论【深度优先搜索的理论基础】
算法·深度优先·图论
皓月斯语15 小时前
【C++基础】三目运算符
开发语言·数据结构·c++
先吃饱再说16 小时前
LeetCode 101. 对称二叉树
算法