力扣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;
      }
  };
相关推荐
iAkuya2 分钟前
(leetcode)力扣100 55全排列
算法·leetcode·职场和发展
you-_ling4 分钟前
数据结构:2.链式表
数据结构
2301_765703148 分钟前
动态库热加载技术
开发语言·c++·算法
2401_8414956411 分钟前
【强化学习】REINFORCE 算法
人工智能·python·算法·强化学习·reinforce·策略梯度·蒙特卡洛
棱镜Coding32 分钟前
LeetCode-Hot100 30.两两交换链表中的节点
算法·leetcode·链表
向哆哆36 分钟前
Flutter × OpenHarmony 跨端实战:垃圾分类应用页面架构与数据结构设计详解
数据结构·flutter·开源·鸿蒙·openharmony
2301_7903009638 分钟前
C++与量子计算模拟
开发语言·c++·算法
汽车仪器仪表相关领域1 小时前
经典指针+瞬态追踪:MTX-A模拟废气温度(EGT)计 改装/赛车/柴油车排气温度监测实战全解
大数据·功能测试·算法·机器学习·可用性测试
如果你想拥有什么先让自己配得上拥有1 小时前
斐波那契黄金分割自然界演化以及金融上的共振?
算法·金融
灰色小旋风1 小时前
力扣第1题:两数之和(C++)
c++·算法