力扣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;
      }
  };
相关推荐
2401_84149564几秒前
【LeetCode刷题】零钱兑换
数据结构·python·算法·leetcode·动态规划·数组·时间复杂度
C雨后彩虹3 分钟前
ConcurrentHashMap 源码逐行拆解:put/get 方法的并发安全执行流程
java·算法·哈希算法·集合·hashmap
无限进步_5 分钟前
C++ STL list容器深度解析与模拟实现
开发语言·数据结构·c++·windows·git·list·visual studio
子夜江寒6 分钟前
SVM、K-means与DBSCAN 算法简介
算法·支持向量机·kmeans
aigcapi7 小时前
RAG 系统的黑盒测试:从算法对齐视角解析 GEO 优化的技术指标体系
大数据·人工智能·算法
苏宸啊8 小时前
链式二叉树基操代码实现&OJ题目
数据结构
风筝在晴天搁浅8 小时前
hot100 25.K个一组翻转链表
数据结构·链表
柯慕灵8 小时前
7大推荐系统/算法框架对比
算法·推荐算法
adam-liu8 小时前
Fun Audio Chat 论文+项目调研
算法·语音端到端·fun-audio-chat
小十一再加一9 小时前
【初阶数据结构】栈和队列
数据结构