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

按位与最大的最长连续子数组

题目描述:
给你一个长度为 n 的整数数组 nums 。

考虑 nums 中进行 按位与(bitwise AND)运算得到的值 最大 的 非空 子数组。

换句话说,令 k 是 nums 任意 子数组执行按位与运算所能得到的最大值。那么,只需要考虑那些执行一次按位与运算后等于 k 的子数组。
返回满足要求的 最长 子数组的长度。

数组的按位与就是对数组中的所有数字进行按位与运算。

子数组 是数组中的一个连续元素序列

在这里插入图片描述


考点:按位与。a & b = c,c一定小于等于a且小于等于b。因此要按位与最大,就是求相同的连续子数组的最大长度。 (自己与自己才是最大的)

于是题目转换成了求相同的连续子数组长度。可以套用经典的统计具有相同性质的连续子数组模板

模板如下:

for(int i = 0; i < n; i++)
{
	int j = i + 1;
	while(j < n && 一些性质) j++;
	res = max(res, j - i);
	i = j - 1;
}

ac代码:

class Solution {
public:
    int longestSubarray(vector<int>& nums) {
        int cnt = 0, ma = 0, res = 0;
        for(auto x : nums) ma = max(x, ma);
        for(int i = 0; i < nums.size(); i++)
        {
            int j = i + 1;
            while(j < nums.size() && nums[j - 1] == nums[j] && nums[j] == ma) j++;
            res = max(res, j - i);
            i = j - 1;
        }
        return res;
    }
};

同类题目:最长的字母序连续子字符串
这道同类题目更简单一些,因为它直接把要维护的性质告诉你了。

相关文章:

  • <Linux复习>基础指令下
  • Spring中自定义依赖注入对象注入Controller中,优雅的解决用户鉴权问题(HandlerInterceptorAdapter)
  • opencv 车牌识别
  • [LeetCode周赛复盘] 第 312 场周赛20220925
  • 基于HTML+CSS+JavaScript的MIUI10官网网站设计与开发
  • Vue 新手期练手出现问题记录与解决方案——Vue练手项目“小问题“
  • 计算机组成原理-华科版本
  • 计算机网络原理 谢希仁(第8版)第五章习题答案
  • 记一次Netty堆外内存溢出OutOfDirectMemoryError
  • 设计模式详解:模式汇总与索引清单
  • SpringSecurity实战-第5章 自动登录和注销登录
  • Python基础内容训练9(文件操作)
  • 冰冰学习笔记:list的简单模拟
  • 基于鸽群优化算法的线性规划求解matlab程序
  • 【博客505】k8s Sig-scheduler Coscheduling调度器插件原理
  • [笔记] php常见简单功能及函数
  • [数据结构]链表的实现在PHP中
  • Flannel解读
  • HTTP中的ETag在移动客户端的应用
  • JavaScript 奇技淫巧
  • PaddlePaddle-GitHub的正确打开姿势
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • 闭包--闭包作用之保存(一)
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 复习Javascript专题(四):js中的深浅拷贝
  • 工作手记之html2canvas使用概述
  • 关于List、List?、ListObject的区别
  • 少走弯路,给Java 1~5 年程序员的建议
  • 深入 Nginx 之配置篇
  • 用mpvue开发微信小程序
  • 关于Android全面屏虚拟导航栏的适配总结
  • 交换综合实验一
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • ###C语言程序设计-----C语言学习(3)#
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (1)SpringCloud 整合Python
  • (10)STL算法之搜索(二) 二分查找
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (javascript)再说document.body.scrollTop的使用问题
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (十一)c52学习之旅-动态数码管
  • (一)80c52学习之旅-起始篇
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .net 使用ajax控件后如何调用前端脚本
  • .net 怎么循环得到数组里的值_关于js数组
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .NET关于 跳过SSL中遇到的问题
  • .NET企业级应用架构设计系列之结尾篇
  • .net项目IIS、VS 附加进程调试
  • [Android]一个简单使用Handler做Timer的例子
  • [CISCN2019 华东南赛区]Web4