算法笔记--最大连续1的个数Ⅲ
leetcode题目链接:1004. 最大连续1的个数 III
题目描述
给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1 的最大个数 。

思路
这里可以转换思路,让题意更加明确:即,求一个最大连续区间,要求该区间中的0的个数最多为k个
这样一来就变成了滑动窗口问题:
滑动窗口右侧right:
-
遇到1了,就记录当前窗口大小,并记录窗口最大值
-
遇到0了
如果当前窗口0的个数不足k个(<K)则更新窗口中0的个数
如果当前窗口0的个数以满足k个,则强制移动窗口左侧left,直到left“吐出”一个1
代码
class Solution {//转换问题看法:求一个连续最大区间,要求这个区间中0的个数最多为K个public int longestOnes(int[] nums, int k) {int len = nums.length; //数组长度int left=0;int right=0;int numOfZero = 0;//记录当前区间0的个数int maxLen = 0; //记录区间最大长度for(;right<len;right++){if(nums[right] == 0){//遇到0了if(numOfZero < k){//还可以变numOfZero++;maxLen = Math.max(maxLen,right-left+1);//记录最长区间}else{//k不够了,刚好numOfZero = k,这时需要left吐一个0出来while(left <= right){if(nums[left] == 0){left++;numOfZero--;if(nums[right] == 0)numOfZero++; //这里把left之前指向的0吐出去后,还要看新的right有没有指向0break;}else{left++;}}maxLen = Math.max(maxLen,right-left+1);//记录最长区间}}else{//遇到1了maxLen = Math.max(maxLen,right-left+1);//记录最长区间}}return maxLen;}
}
相关文章:
算法笔记--最大连续1的个数Ⅲ
leetcode题目链接:1004. 最大连续1的个数 III 题目描述 给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1 的最大个数 。 思路 这里可以转换思路,让题意更加明确:即,求一个最大连续区间…...
Linux CentOS7 添加中文输入法
在安装CentOS7时,现在默认安装了桌面中文系统。可以切换为英文,中英文可以按要求随时更换。而在CentOS7桌面环境下,显示中文非常方便、正确,但不能录入中文。 在远程登录系统的情况下,不论是系统语言(LANG…...
Python接口自动化封装导出excel方法和读写excel数据
一、首先需要思考,我们在页面导出excel,用python导出如何写入文件的 封装前需要确认python导出excel接口返回的是一个什么样的数据类型 如下:我们先看下不对返回结果做处理,直接接收数据类型是一个对象,无法获取返回值…...
React三属性之:refs
作用 refs是为了获取节点,使用场景主要在需要操作dom的时候,比如echarts,就需要真实的dom节点 使用 import React from "react"; class RefsTest extends React.Component{state {value:输入框的值}refPlan React.createRef()logRef ()>{console.log(this.r…...
将Vue项目迁移到微信小程序中
文章目录 一、创建一个Vue.js的应用程序二、构建微信小程序1. 安装微信小程序构建工具2. 在vuejs项目的根目录中创建一个wepy.confgjs文件3. 在vuejs项目的根目录中运行构建 三、错误记录1. 找不到编译器:wepy-compiler-sass 一、创建一个Vue.js的应用程序 使用 Vu…...
php权限调整强制用户退出的解决方案
要强制用户重新登录,你可以采取以下步骤: 当用户登录时,将用户的登录状态和其他相关信息存储在服务器端。例如,你可以将用户ID、用户名或其他标识符存储在服务器的会话(session)中。当管理员修改用户的某些…...
[uniapp]踩坑日记 unexpected character > 1或‘=’>1 报错
在红色报错文档里下滑,找到Show more 根据提示看是缺少标签,如果不是缺少标签,看看view标签内容是否含有<、>、>、<号,把以上符合都进行以<号为例做{{“<”}}处理...
面试求职-经典面试问题
16个经典面试问题回答思路 面试过程中,面试官会向应聘者发问,而应聘者的回答将成为面试官考虑是否接受他的重要依据。对应聘者而言,了解这些问题背后的“猫腻”至关重要。本文对面试中经常出现的一些典型问题进行了整理,并给出相…...
在Linux服务器上部署Tornado项目
要在Linux服务器上部署Tornado项目,你可以按照以下步骤进行操作: 1、准备服务器: 确保你的服务器上安装了Python。Tornado通常与Python 3兼容,因此建议安装Python 3.x。 安装和配置一个Web服务器,如Nginx或Apache&a…...
JWT认证、drf-jwt安装和简单使用、实战之使用Django auth的User表自动签发、实战之自定义User表,手动签发
一 JWT认证 在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证。 我们不再使用Session认证机制,而使用Json Web Token(本质就是token)认证机制。Json web token (JWT), 是为了在网络应用环境…...
conda常用命令及问题解决-创建虚拟环境
好久没写博文了,感觉在学习的过程中还是要注意积累与分享,这样利人利己。 conda包清理,许多无用的包是很占用空间的 conda clean -p //删除没有用的包 conda clean -y -all //删除pkgs目录下所有的无用安装包及cacheconda创建虚拟环境…...
严选算法模型质量保障
在算法模型整个生命周期**(算法模型生命周期:初始训练数据 --> 模型训练 --> 模型评估 --> 模型预估 --> 训练数据)**中,任何环节的问题引入都可能导致算法模型质量问题。所以我们在做模型质量保障的过程中࿰…...
学习Bootstrap 5的第七天
目录 徽章 徽章 实例 上下文徽章 实例 胶囊徽章 实例 元素内的徽章 实例 进度条 基础进度条 实例 进度条高度 实例 彩色进度条 实例 条纹进度条 实例 动画进度条 实例 混合色彩进度条 实例 徽章 徽章 在 Bootstrap 中,徽章(Badg…...
VirtualBox(内有Centos 7 示例安装)
1常见概念以及软件安装 1.1 虚拟化技术: 虚拟化技术指的是将计算机的各种硬件资源加以抽象、转换、分割,最后组合 起来的技术。其目的和作用主要是打破硬件资源不可分的情况,方便程序员自 己集成所需资源。 1.2 Virtual Box 其是虚拟化技术作…...
在 Git 中删除不再位于远程仓库中的本地分支
git 删除远端已经被删除然而本地还存在的分支 1. 修剪不在远程仓库上的跟踪分支 git remote prune origin如果git仓库将branch1被删除,可以用用git remote prune origin删除在本地电脑上的remotes/origin/branch1 git remote show origin可以看到下面所示…...
容器编排学习(九)服务管理与用户权限管理
一 service管理 1 概述 容器化带来的问题 自动调度:在 Pod 创建之前,用户无法预知 Pod 所在的节点,以及 Pod的IP 地址一个已经存在的 Pod 在运行过程中,如果出现故障,Pod也会在新的节点使用新的IP 进行部署应用程…...
【C刷题】day1
一、选择题 1.正确的输出结果是 int x5,y7; void swap() { int z; zx; xy; yz; } int main() { int x3,y8; swap(); printf("%d,%d\n",x, y); return 0; } 【答案】: 3,8 【解析】: 考点: ÿ…...
zabbix配置钉钉告警、和故障自愈、监控java
文章目录 1.配置钉钉告警server 配置web界面创建媒介给用户添加媒介测试告警 实现故障自愈功能监控Javazabbix server 安装java gateway配置 Zabbix Server 支持 Java gateway使用系统内置模板监控 tomcat 主机 1.配置钉钉告警 server 配置 钉钉告警python脚本 脚本1 cd /…...
第九章 Linux实际操作——Linux磁盘分区、挂载
第九章 Linux实际操作——Linux磁盘分区、挂载 9.1 Linux分区9.1.1原理介绍9.1.2 硬盘说明9.1.3 查看所有设备搭载情况 9.2 挂载的经典案例9.2.1 说明9.2.2 如何增加一块硬盘9.2.3 虚拟机增加硬盘步骤 9.3 磁盘情况查询9.3.1 查询系统整体磁盘使用情况9.3.2 查询指定目录的磁盘…...
设计模式-解释器设计模式
文章目录 前言一、 解释器模式的结构1、抽象表达式(Abstract Expression)2、终结符表达式(Terminal Expression)3、非终结符表达式(Non-terminal Expression)4、上下文(Context)5、客…...
Audacity:5分钟快速掌握免费音频编辑的终极指南
Audacity:5分钟快速掌握免费音频编辑的终极指南 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 想要专业级的音频编辑能力却不想支付高昂的费用?Audacity正是你寻找的解决方案!…...
X-UI代理管理工具实战指南:提升80%效率的7个自动化运维技巧
X-UI代理管理工具实战指南:提升80%效率的7个自动化运维技巧 【免费下载链接】x-ui 项目地址: https://gitcode.com/gh_mirrors/xui/x-ui 在服务器管理领域,效率与稳定性始终是运维人员面临的核心挑战。X-UI作为一款开源代理面板管理工具…...
如何通过手机号快速找回QQ账号:3分钟完成的终极指南
如何通过手机号快速找回QQ账号:3分钟完成的终极指南 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 还在为忘记QQ账号而烦恼吗?每次需要验证好友身份时都要翻遍通讯录?现在,通过phone2…...
Z-Image-Turbo-辉夜巫女开发者案例:对接Stable Diffusion WebUI插件生态的兼容方案
Z-Image-Turbo-辉夜巫女开发者案例:对接Stable Diffusion WebUI插件生态的兼容方案 1. 引言:当定制模型遇上主流生态 如果你是一位AI绘画的开发者或爱好者,手里有一个精心调校的、专门生成“辉夜巫女”风格的文生图模型,你可能会…...
Fish Speech 1.5企业落地手册:对接CRM/知识库构建智能语音助手
Fish Speech 1.5企业落地手册:对接CRM/知识库构建智能语音助手 想象一下,你的客户服务系统能自动用自然、亲切的声音回答客户咨询,你的内部知识库能“开口说话”,为员工提供语音指引。这听起来像是科幻场景,但今天&am…...
Wan2.2-T2V-A5B案例分享:用简单提示词生成流畅运动视频
Wan2.2-T2V-A5B案例分享:用简单提示词生成流畅运动视频 1. 模型简介与核心优势 Wan2.2-T2V-A5B是由通义万相开源的一款轻量级文本到视频生成模型,拥有50亿参数规模。这款模型专为快速内容创作优化,支持480P视频生成,具备优秀的时…...
FastAPI文档示例:请求响应样例配置的终极指南
FastAPI文档示例:请求响应样例配置的终极指南 【免费下载链接】fastapi FastAPI framework, high performance, easy to learn, fast to code, ready for production 项目地址: https://gitcode.com/GitHub_Trending/fa/fastapi FastAPI是一个高性能、易于学…...
抖音内容高效下载实战:从单视频到批量采集的完整指南
抖音内容高效下载实战:从单视频到批量采集的完整指南 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 还在为无法保存喜欢的抖音内容而烦恼吗?是否经常遇到需要批量下载用户主页所有作…...
SDXL-Turbo多场景落地教程:覆盖电商、游戏、教育、自媒体的6大用法
SDXL-Turbo多场景落地教程:覆盖电商、游戏、教育、自媒体的6大用法 1. 认识SDXL-Turbo:重新定义AI绘画体验 SDXL-Turbo不是传统的AI绘画工具,而是一个革命性的实时创作伙伴。想象一下,你打字的同时,画面就在眼前实时…...
Czkawka磁盘清理工具:通过多线程哈希技术实现300%扫描效率提升
Czkawka磁盘清理工具:通过多线程哈希技术实现300%扫描效率提升 【免费下载链接】czkawka 一款跨平台的重复文件查找工具,可用于清理硬盘中的重复文件、相似图片、零字节文件等。它以高效、易用为特点,帮助用户释放存储空间。 项目地址: htt…...
