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

2419.按位与最大的最长子数组

Problem: 2419. 按位与最大的最长子数组

思路

子数组按位与的结果,不会超过子数组里的最大值(因为 a & b ≤ max(a, b))。 进一步推导,整个数组最大按位与的结果就是数组本身的最大值。 因为最大的那个元素自己作为子数组时,按位与结果就是它自己,其他子数组的按位与结果不可能超过它 。

解题过程

  1. 找到数组的最大值 max_and(这是 “按位与结果最大” 的目标值 )。
  2. 找到连续等于 max_and最长子数组长度(因为只有这些子数组的按位与结果会等于 max_and,其他子数组的按位与结果必然更小 )。

复杂度

  • 时间复杂度: O(n)
  • 空间复杂度: O(1)
class Solution {
public:int longestSubarray(vector<int>& nums) {int maxval = *max_element(nums.begin(), nums.end());int ans = 0;int cur_len = 0;for (int i = 0; i < nums.size(); i++) {if (nums[i] == maxval) {cur_len++;ans = max(ans, cur_len);} else {cur_len = 0;}}return ans;}
};
http://www.xdnf.cn/news/1216729.html

相关文章:

  • JAVAEE--4.多线程案例
  • Mac配置iterm2
  • 【动态规划 | 多状态问题】动态规划求解多状态问题
  • 信贷风控笔记8-解读商业银行资本管理办法笔记
  • Day 4-1: 机器学习算法全面总结
  • Vue路由钩子完全指南
  • 论文阅读|ArxiV 2024|Mamba进一步研究|VSSD
  • Python Pandas.concat函数解析与实战教程
  • 【力扣热题100】哈希——字母异位词分组
  • 20250730在荣品的PRO-RK3566开发板的Android13下调通敦泰的FT8206触控芯片【I2C的挂载】
  • colima 修改镜像源为国内源
  • 02 基于sklearn的机械学习-KNN算法、模型选择与调优(交叉验证、朴素贝叶斯算法、拉普拉斯平滑)、决策树(信息增益、基尼指数)、随机森林
  • MacTex+Vscode数学建模排版
  • VUE -- 基础知识讲解(二)
  • 计算机网络基础(二) --- TCP/IP网络结构(应用层)
  • 代码随想录算法训练营第三十六天
  • RHCA学习概述
  • Python 程序设计讲义(45):组合数据类型——集合类型:集合的常用操作
  • List 接口
  • nav2--安装/教程
  • Linux 系统进程管理与计划任务详解
  • 2025 年 NOI 最后一题题解
  • ORACLE的表维护
  • 学习Markdown
  • Python读取获取波形图波谷/波峰
  • 开发避坑短篇(9):解决升级Vue3后slot attributes废弃警告
  • Python Day19 时间模块 和 json模块 及例题分析
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现裂缝的检测识别(C#代码UI界面版)
  • RNN、LSTM、Transformer推荐博文
  • USRP捕获手机/路由器数据传输信号波形(上)