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

Leetcode每日刷题之1004.最大连续1的个数|||(C++)

1.题目解析

本题的目的是找出能最多翻转k个0的情况下最长连续的1的个数,并且这是一个二进制数组,只存在0和1,翻转0就是将0变为1

 

2.算法原理

首先我们想到的一定是暴力枚举,即依次列举出在最多翻转k个0的情况下所有连续1的子数组的长度,求出最大值,这样的时间复杂度会很高,所以我们可以换一个思路,即找出子数组满足其中的0的个数小于k,此时我们直接求该子数组的长度就代表了连续1的个数,此时只要求出一个子数组其中含有0的个数zero<k且是满足该条件的最长子数组即可

这里我们用到的是"滑动窗口"来解决问题,即固定一个指针left后移动right指针并统计right指针遇到0的个数,此时就是入窗口的操作,然后当zero>k时就需要移动left指针直到zero<=k,这一步是出窗口的操作,然后更新数据即最大子数组长度即可

 

3.代码展示

class Solution {
public:int longestOnes(vector<int>& nums, int k) {int len = 0;int n = nums.size();for(int left = 0,right = 0,zero = 0;right < n;right++){if(nums[right] == 0){zero++;}while(zero > k){if(nums[left++] == 0){zero--;}}len = max(len,right - left + 1);}return len;}
};

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • CeresPCL 岭回归拟合(曲线拟合)
  • Tomcat的核心文件讲解
  • 【SpringBoot】使用Spring Boot、MyBatis-Plus和MySQL来实现增删改查操作,并添加自定义SQL查询。
  • java整合modbusRTU与modbusTCP
  • BUG——GT911上电后中断一直触发
  • RK3588——网口实时传输视频
  • 什么是深拷贝
  • ubuntu20 vmware硬盘空间不够,进行扩容,实操成功!
  • 通俗易懂 serverless 架构、微服务架构和云原生架构,并简单代码
  • UltraISO制作Centos7.X系统U盘启动
  • 2024年入职/转行网络安全,该如何规划?_网络安全职业规划
  • Docker的介绍、保姆级安装和使用
  • 数据库学习(进阶)
  • LoginFormDTO
  • iOS18 Beta7 最终测试版推送:苹果的又一次技术飞跃
  • hexo+github搭建个人博客
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 【面试系列】之二:关于js原型
  • 78. Subsets
  • Android Studio:GIT提交项目到远程仓库
  • github从入门到放弃(1)
  • js中forEach回调同异步问题
  • markdown编辑器简评
  • PHP 7 修改了什么呢 -- 2
  • Python爬虫--- 1.3 BS4库的解析器
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • 关于使用markdown的方法(引自CSDN教程)
  • 聊聊redis的数据结构的应用
  • 如何使用 JavaScript 解析 URL
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 世界上最简单的无等待算法(getAndIncrement)
  • 学习笔记:对象,原型和继承(1)
  • 走向全栈之MongoDB的使用
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 扩展资源服务器解决oauth2 性能瓶颈
  • 如何用纯 CSS 创作一个货车 loader
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​香农与信息论三大定律
  • #define,static,const,三种常量的区别
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (七)glDrawArry绘制
  • (十)c52学习之旅-定时器实验
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (四)事件系统
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (一)SpringBoot3---尚硅谷总结
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)四层和七层负载均衡的区别
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET Micro Framework 4.2 beta 源码探析