力扣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;
      }
  };
相关推荐
jllllyuz13 小时前
MATLAB 蒙特卡洛排队等待模拟程序
数据结构·matlab
自我意识的多元宇宙13 小时前
树、森林——树、森林与二叉树的转换(森林转换为二叉树)
数据结构
海清河晏11113 小时前
数据结构 | 双循环链表
数据结构·链表
workflower13 小时前
机器人应用-楼宇室内巡逻
大数据·人工智能·算法·microsoft·机器人·动态规划·享元模式
ZPC821014 小时前
fanuc 机器人通过PR寄存器实现轨迹控制
人工智能·算法·计算机视觉·机器人
py有趣14 小时前
力扣热门100题之编辑距离
数据结构·算法·leetcode
Wave84514 小时前
C++继承详解
开发语言·c++·算法
睡觉就不困鸭14 小时前
第9天 两数之和
算法·哈希算法·散列表
贾斯汀玛尔斯14 小时前
每天学一个算法--动态规划(Dynamic Programming, DP)
算法·动态规划
水木流年追梦14 小时前
CodeTop 热门题目汇总hot300题
算法·leetcode·职场和发展