力扣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;
      }
  };
相关推荐
kukubuzai29 分钟前
搜索二叉数(c++)
算法
快手技术44 分钟前
效果 & 成本双突破!快手提出端到端生成式推荐系统 OneRec!
算法
HNU混子1 小时前
leetcode-3443. K次修改后的最大曼哈顿距离
算法·leetcode·动态规划
东方芷兰1 小时前
Leetcode 刷题记录 19 —— 动态规划
算法·leetcode·动态规划
奔跑吧邓邓子1 小时前
解锁决策树:数据挖掘的智慧引擎
人工智能·算法·决策树·机器学习·数据挖掘
蓝纹绿茶2 小时前
【本机已实现】使用Mac部署Triton服务,使用perf_analyzer、model_analyzer
人工智能·算法·macos·机器学习
范纹杉想快点毕业2 小时前
Qt实现文本编辑器光标高亮技术
java·开发语言·c++·算法·系统架构
C羊驼2 小时前
C语言:二分搜索函数
算法
胡乱编胡乱赢2 小时前
最小化联邦平均(FedAvg)的算法开销
算法·最小化联邦平均·联邦平均
The_cute_cat2 小时前
25.6.19学习总结
学习·算法