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

LeetCode 分类刷题:1004. 最大连续1的个数 III

题目

给定一个二进制数组 nums 和一个整数 k,假设最多可以翻转 k 个 0 ,则返回执行操作后 数组中连续 1 的最大个数 。

示例 1:

输入:nums = [1,1,1,0,0,0,1,1,1,1,0], K = 2
输出:6
解释:[1,1,1,0,0,1,1,1,1,1,1]
粗体数字从 0 翻转到 1,最长的子数组长度为 6。

示例 2:

输入:nums = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1], K = 3
输出:10
解释:[0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1]
粗体数字从 0 翻转到 1,最长的子数组长度为 10。

解析

力扣官网中,本题提示如下图:

统计窗口内 0 的个数 cnt0​,则问题转化成在 cnt0​≤k 的前提下,窗口大小的最大值。

作者:灵茶山艾府
链接:https://leetcode.cn/problems/max-consecutive-ones-iii/solutions/2126631/hua-dong-chuang-kou-yi-ge-shi-pin-jiang-yowmi/
来源:力扣(LeetCode)

答案

/*** @param {number[]} nums* @param {number} k* @return {number}*/
var longestOnes = function(nums, k) {let left = 0, ans = 0, count = 0;    //初始化左指针,最大长度和记录0的个数的变量for(let right = 0; right < nums.length; right++) {    //移动右指针if(nums[right] === 0) count++;    //更新窗口内0的个数if(count > k) {    //0的个数超过kwhile(nums[left] !== 0) left++;    //缩小窗口,找到元素为0的最左端left++, count--;    //左指针移动到下一个不为0的位置,0的个数减一}ans = Math.max(ans, right - left + 1);    //更新最大长度}return ans;
};

复杂度分析

时间复杂度:O(n),其中 n 为 nums 的长度。

空间复杂度:O(1)。

http://www.xdnf.cn/news/1292905.html

相关文章:

  • PHP imagick扩展安装以及应用
  • 机器学习-Cluster
  • Java项目中地图功能如何创建
  • 机器学习阶段性总结:对深度学习本质的回顾 20250813
  • csp知识基础——贪心算法
  • 类和对象(中下)
  • 图像分类-动手学计算机视觉10
  • JDK17下载与安装图文教程(保姆级教程)
  • 基于DDPG的车辆纵向速度控制优化:兼顾速度与乘坐舒适性
  • 《Python学习之基础语法1:从零开始的编程之旅》
  • k8s资源管理
  • GPT-o3回归Plus用户,GPT5拆分三种模式,对标Grok
  • 什么是HTTP的无状态(举例详解)
  • 【C++详解】用红黑树封装模拟实现mymap、myset
  • 【C++】哈希的应用:位图和布隆过滤器
  • Query通过自注意力机制更新(如Transformer解码器的自回归生成)的理解
  • 【Java web】HTTP 与 Web 基础教程
  • 最新去水印小程序系统 前端+后端全套源码 多套模版 免授权
  • 弹性扩展新范式:分布式LLM计算的FastMCP解决方案
  • 可视化调试LangChain SQLChatMessageHistory:SQLite数据库查看全攻略
  • 6 ABP 框架中的事件总线与分布式事件
  • 服务器安全检测与防御技术总结
  • 比特币与区块链:去中心化的技术革命
  • Java毕业设计选题推荐 |基于SpringBoot的水产养殖管理系统 智能水产养殖监测系统 水产养殖小程序
  • TensorFlow实现回归分析详解
  • 把 Linux 装进“小盒子”——边缘计算场景下的 Linux 裁剪、启动与远程运维全景指南
  • 各种排序算法(二)
  • 升级Gradle版本后,安卓点击事件使用了SwitchCase的情况下,报错无法使用的解决方案
  • PCBA:电子产品制造的核心环节
  • MCP协议更新:从HTTP+SSE到Streamable HTTP,大模型通信的进化之路