力扣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;
      }
  };
相关推荐
white-persist7 小时前
【红队渗透】Cobalt Strike(CS)红队详细用法实战手册
java·网络·数据结构·python·算法·安全·web安全
Project_Observer7 小时前
任务条件布局规则如何帮助自动管理任务?
大数据·数据结构·人工智能·深度学习·机器学习·编辑器
舟舟亢亢7 小时前
算法总结—【动态规划一维、二维、状态压缩】
算法·动态规划
宵时待雨7 小时前
C++笔记归纳9:模板进阶
开发语言·数据结构·c++·笔记
重生之后端学习7 小时前
152. 乘积最大子数组
数据结构·算法·leetcode·职场和发展·动态规划
weixin_649555677 小时前
C语言程序设计第四版(何钦铭、颜晖)第八章之字符串压缩
c语言·数据结构·算法
单车少年ing7 小时前
一个编码BUG
算法·bug
努力中的编程者7 小时前
哈希表(C语言底层实现)
c语言·数据结构·c++·算法·哈希算法·散列表
CoovallyAIHub8 小时前
ICLR 2026 | MRAD:不拟合直接查表,零样本工业缺陷检测新范式,16 数据集均值最优
深度学习·算法·计算机视觉