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

11.LeetCode 1004. 最大连续1的个数 III | 滑动窗口解法详解(Java)

目录

1. 题目解析

2. 算法原理 + 编写代码

解法一:暴力枚举 + zero计数器

解法二:滑动窗口


1. 题目解析

题目:1004. 最大连续1的个数 III

OJ链接:1004. 最大连续1的个数 III - 力扣(LeetCode)

给定一个二进制数组nums和一个整数k,如果可以翻转最多k0,则返回数组中连续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. 算法原理 + 编写代码

转化思路:找出最长的子数组,其中0的个数不超过k个。

解法一:暴力枚举 + zero计数器

通过双重循环枚举所有子数组,统计每个子数组中0的个数,超过k则停止扩展,记录最大长度。

class Solution { public int longestOnes(int[] nums, int k) { int n = nums.length; int maxLen = 0; // 遍历所有可能的子数组起点i for (int i = 0; i < n; i++) { int zeroCount = 0; // 统计当前子数组中0的个数 // 遍历所有可能的子数组终点j(j >= i) for (int j = i; j < n; j++) { if (nums[j] == 0) { zeroCount++; } // 如果0的个数超过k,就不需要继续扩展j了(因为子数组是连续的,再往后j,0的个数只会更多 if (zeroCount > k) { break; } // 更新最大长度 maxLen = Math.max(maxLen, j - i + 1); } } return maxLen; } }

解法二:滑动窗口

通过维护一个滑动窗口,保证窗口内0的个数不超过k,逐步扩大窗口并更新最大长度。

步骤

  1. 初始化left = 0,right = 0,zero = 0

  2. 右指针right遍历数组,进窗口:若nums[right]0zero计数 +1。

  3. 判断:若zero > k,则需要移动左指针left缩小窗口,出窗口:若nums[left]0zero计数 -1,左指针右移。

  4. 更新结果:每次窗口合法时,更新最大长度ret = Math.max(ret, right - left + 1)

class Solution { public int longestOnes(int[] nums, int k) { int ret = 0; for (int left = 0, right = 0, zero = 0; right < nums.length; right++) { if (nums[right] == 0) zero++; // 进窗口 while (zero > k) { // 判断 if (nums[left++] == 0) zero--; // 出窗口 } ret = Math.max(ret, right - left + 1); // 更新结果 } return ret; } }
http://www.gsyq.cn/news/1426379.html

相关文章:

  • 告别简陋print!用PySide6的QMessageBox给你的Python桌面应用加点‘人情味’
  • Amphenol ICC RJE1Y26A53D5G401线束组件深度解析
  • 2026 板式橡胶支座厂家盆式高阻尼橡胶支座及球型支座加工厂家综合排行 - 栗子测评
  • NX二次开发进阶:手把手教你用动态库导出函数实现多线程安全调用(以libpart.dll为例)
  • Seraphine:3分钟上手!英雄联盟智能BP辅助工具完全使用指南
  • 期刊论文摘要怎么写?Gemini 3.1 Pro让论文摘要“C位出道”的的4种万能表达
  • 杭州卡费诺企业服务有限公司2026综合人力服务优选:杭州专业/靠谱人力资源合规公司推荐/排名杭州卡费诺企业服务 - 栗子测评
  • 别再手动生成RSA密钥了!用Python cryptography库5分钟搞定密钥对生成与安全存储
  • 2026 公路护栏网生产厂家综合梳理对比公路隔离栅实体工厂与高速隔离栅选购要点 - 栗子测评
  • 阿里十三薪调整,打工人最害怕的事还是来了
  • C166芯片MON166监控器失效问题分析与解决
  • 从水果忍者到你的游戏:Unity刀痕特效避坑指南(材质、Z轴与屏幕坐标转换)
  • 2026年05月重庆气楼源头厂家口碑推荐,不容错过,9a型天窗/防腐通风气楼/薄型天窗,气楼销售厂家哪家专业 - 品牌推荐师
  • DownKyi如何帮助用户高效下载B站视频?实用操作手册
  • Layabox CEO王亚伟亮相2026微信小游戏开发者大会:小游戏正式迈入WebGPU与AI时代
  • AI如何重塑影响力营销:从精准匹配到智能优化的六维变革
  • 2026年苏州显示厂家口碑推荐榜:LCD 拼接屏、LED 显示屏、高清大屏、会议商显厂家选择指南,产品、工程、服务三维度权威解析 - 海棠依旧大
  • 教会一个 AI,它就能去教别的 AI?
  • 用Python+GDAL处理GLASS LAI数据:一个不依赖ArcGIS的免费替代方案
  • 告别标准阅读焦虑:一张图带你看懂ISO 16750-2023对电气/机械/气候/化学测试的要求
  • Godot(4.x): 游戏管理器: Excel 动态依赖注入实现
  • 2026年etpu发泡产品制造商排名,口碑好的有哪些? - 工业推荐榜
  • Windows右键菜单终极管理指南:用ContextMenuManager让右键菜单秒开如飞
  • 2026 锌钢护栏网源头厂家及小区庭院铁艺围栏产品综合测评分析 - 栗子测评
  • 2026年佰维存储数字IC笔试试卷带答案
  • 2026教培无人机、低空经济无人机、清洗无人机源头厂家实力推荐 - 栗子测评
  • 2026年05月值得关注!冷冻库实力厂家口碑推荐揭秘,速冻库/土建冷库/装配式冷库/小型冷库/冷库,冷冻库品牌哪个好 - 品牌推荐师
  • 2026年豆包广告公司价格,济宁威兴信息科技有限公司收费合理 - mypinpai
  • 常州闲置名表变现攻略:免费估价全域上门,劳力士欧米茄全品类回收 - 奢侈品回收测评
  • 2026年地埋箱泵一体化选购指南:费用怎么算? - mypinpai