力扣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;
      }
  };
相关推荐
上弦月-编程5 分钟前
高效编程利器:转移表技术解析
c语言·开发语言·数据结构·算法·排序算法
薇茗6 分钟前
【初阶数据结构】 左右逢源的分支诗律 二叉树2
c语言·数据结构·算法·二叉树
AZaLEan__8 分钟前
算法考核题解
算法
MediaTea21 分钟前
AI 术语通俗词典:ID3 算法
人工智能·算法
Morwit22 分钟前
【力扣hot100】 221. 最大正方形
前端·算法·leetcode
呃呃本36 分钟前
算法题(矩阵)
线性代数·算法·矩阵
呃呃本1 小时前
算法题(普通数组、矩阵)
线性代数·算法·矩阵
计算机安禾1 小时前
【计算机网络】第11篇:链路状态路由协议——Dijkstra算法与OSPF的分区架构
计算机网络·算法·架构
珂朵莉MM1 小时前
第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛第二赛季优化题--遗传算法
人工智能·算法
gihigo19981 小时前
严格耦合波分析计算光栅衍射效率算法
算法