当前位置: 首页 > article >正文

【算法题】2401. 最长优雅子数组

插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。
坚持不懈,越努力越幸运,大家一起学习鸭~~~

题目:

给你一个由 正 整数组成的数组 nums 。

如果 nums 的子数组中位于 不同 位置的每对元素按位 与(AND)运算的结果等于 0 ,则称该子数组为 优雅 子数组。

返回 最长 的优雅子数组的长度。

子数组 是数组中的一个 连续 部分。

注意:长度为 1 的子数组始终视作优雅子数组。

示例 1:

输入:nums = [1,3,8,48,10]
输出:3
解释:最长的优雅子数组是 [3,8,48] 。子数组满足题目条件:

  • 3 AND 8 = 0
  • 3 AND 48 = 0
  • 8 AND 48 = 0
    可以证明不存在更长的优雅子数组,所以返回 3 。
    示例 2:

输入:nums = [3,1,5,11,13]
输出:1
解释:最长的优雅子数组长度为 1 ,任何长度为 1 的子数组都满足题目条件。

提示:

1 <= nums.length <= 10^5
1 <= nums[i] <= 10^9

java代码:

class Solution {
    public int longestNiceSubarray(int[] nums) {
        int ans = 0;
        for (int left = 0, right = 0, or = 0; right < nums.length; right++) {
            while ((or & nums[right]) > 0)
                or ^= nums[left++];
            or |= nums[right];
            ans = Math.max(ans, right - left + 1);
        }
        return ans;
    }
}

http://www.kler.cn/a/18443.html

相关文章:

  • 15 个改变世界的开源项目:塑造现代技术的先锋力量
  • 【CICD】GitLab Runner 和执行器(Executor
  • SQL50题
  • mysql 快速解决死锁方式
  • js中import引入一个export值可以被修改。vue,react
  • 简单的签到程序 python笔记
  • 自动修改文章的软件-文章原创软件
  • 常用工作负载
  • C typedef和define的异同
  • IntelliNode:Node.js大模型访问统一接口库【Gen AI】
  • Java开发手册-9
  • 2023年4月的12篇AI论文推荐
  • vue3学习六 hooks
  • 【镜像取证篇】仿真碎片-记一次镜像仿真失败的复盘过程
  • 安装2023最新版_华为欧拉操作系统_OpenEuler操作系统_并配置IP地址_联网---linux工作笔记055
  • JVET-AD0081:一种基于外推滤波器的帧内预测模式
  • 【C++】继承和多态、共有私有和保护、重写
  • ES6之迭代器
  • Windows11关闭Edge/Chrome浏览器触摸板双指前进后退手势(防止误触切换页面)
  • java中设计模式总结
  • liunx 常用命令1-目录/文件:新建、修改、移动和删除
  • O2OA (翱途) 平台 V8.0 发布新增数据台账能力
  • QJsonObject 类
  • Docker安装、Docker基本操作
  • 一名【合格】前端工程师的自检清单
  • 麒麟KylinV10SP1(2203)推荐安装一些硬件监控类软件与使用