力扣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;
      }
  };
相关推荐
一只小小的芙厨7 分钟前
寒假集训·子集枚举2
c++·笔记·算法·动态规划
Y.O.U..9 分钟前
力扣刷题-61.旋转链表
算法·leetcode·链表
这波不该贪内存的12 分钟前
【无标题】
算法·排序算法
靠沿16 分钟前
【优选算法】专题二——滑动窗口
java·数据结构·算法
SoulruiA16 分钟前
LeetCode-394. 字符串解码 递归思路
算法·leetcode·职场和发展
.小墨迹19 分钟前
局部规划中的TEB,DWA,EGOplanner等算法在自动驾驶中应用?
开发语言·c++·人工智能·学习·算法·机器学习·自动驾驶
AI科技星22 分钟前
张祥前统一场论 22 个核心公式及常数
服务器·人工智能·线性代数·算法·矩阵·概率论
苏婳66624 分钟前
阿里巴巴校招软件笔试题经典
算法
阿猿收手吧!30 分钟前
【数据结构】高效掌握并查集:核心原理与实战
数据结构·算法
励ℳ33 分钟前
机器学习之线性回归算法:从原理到实践的全面解析
算法·机器学习·线性回归