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

算法11.0

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

翻转操作的麻烦:翻转成为1之后  之后迭代新的情况的话  需要变回0 这样很麻烦

拉下来?  这样空间复杂度就高了   翻转为1又同时又改回来? 

如何不用翻转?   

问题等价处理一下  只要满足某个区域内0的次数补药超过k就行

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

暴力解法   枚举所有的子数组   固定一个起点  依次枚举终点   

解法2:滑动窗口+规律

连续的三个零保证你right不会跑到后面    当我们知道这个信息之后 right不需要跑

left先越过去   

敏锐的发现left和right同向移动  联想到使用滑动窗口解决问题(固定的那几步) 

优化的逻辑

下面是效果图和代码:

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;}
}
//xiyu251016&1#2*3//对于循环的把控 直接条件就定义为了left=0 right往后面走  截至条件是right到数组最后
//无视的时候 是直接可以写代码的  用zero作为判断条件 大于zero的时候  直接就是出窗口了
//int ret 表示结果  

http://www.dtcms.com/a/490009.html

相关文章:

  • 工业级串口通信设计
  • 盐山网站建设广西网上办事大厅
  • 郑州高端网站制作团队大连本地网
  • Linux网络的应用层自定义协议
  • leetcode 2598 执行操作后的最大MEX
  • FFmpeg 基本API avio_read函数内部调用流程分析
  • 【计算机网络】HTTP协议核心知识梳理
  • 基于 MediaMTX 的微信小程序 Web 实时音视频实操方案
  • 《UDP网络编程完全指南:从套接字到高并发聊天室实战》
  • 关于 云服务器WindowsServer2016双击无法运行可执行程序 的解决方法
  • LeetCode每日一题——在区间范围内统计奇数数目
  • Linux内核架构浅谈43-Linux slab分配器:小内存块分配与内核对象缓存机制
  • 最好的免费发布网站wordpress 文章二维码
  • Spring Boot 3零基础教程,Spring Boot 日志格式,笔记18
  • mybatis-plus分页插件使用
  • 福建住房和城乡建设网站网站做提示框
  • 李宏毅机器学习笔记24
  • Leetcode每日一练--28
  • Vue Router 路由元信息(meta)详解
  • 列表标签之无序标签(本文为个人学习笔记,内容整理自哔哩哔哩UP主【非学者勿扰】的公开课程。 > 所有知识点归属原作者,仅作非商业用途分享)
  • sk13.【scikit-learn基础】-- 自定义模型与功能
  • (Spring)Spring Boot 中 @Valid 与全局异常处理器的联系详解
  • 数据库数据类型,数据值类型,字符串类型,日期类型详解
  • 怎么写网站规划方案买链接做网站 利润高吗
  • SAP MM物料主数据锁定及解锁接口分享
  • [FSCalendar] 可定制的iOS日历组件 | docs | Interface Builder
  • 中兴B860AV5.1-M2/B860AV5.2M_安卓9_S905L3SB_支持外置WIFI_线刷固件包
  • AI 模型部署体系全景:从 PyTorch 到 RKNN 的嵌入式类比解析
  • 全球汽车紧固件产业进入关键转型期,中国供应链加速融入世界市场
  • 17网站一起做网店下载自动发卡网站建设