当前位置:网站首页>LeetCode_487_最大连续1的个数Ⅱ
LeetCode_487_最大连续1的个数Ⅱ
2022-08-08 10:37:00 【Fitz1318】
题目链接
题目描述
给定一个二进制数组 nums
,如果最多可以翻转一个 0
,则返回数组中连续 1
的最大个数。
示例 1:
输入:nums = [1,0,1,1,0]
输出:4
解释:翻转第一个 0 可以得到最长的连续 1。
当翻转以后,最大连续 1 的个数为 4。
示例 2:
输入:nums = [1,0,1,1,0,1]
输出:4
提示:
1 <= nums.length <= 10^5
nums[i]
不是0
就是1
.
进阶:如果输入的数字是作为 无限流 逐个输入如何处理?换句话说,内存不能存储下所有从流中输入的数字。您可以有效地解决吗?
解题思路
在最多可以翻转一个0的情况下寻找数组nums中连续1的最大个数,等价于寻找数组nums中的最多包含1个0的最长子数组的长度
滑动窗口法
- left:控制左边界
- right:控制右边界
- count0表示滑动窗口中0的数量
- 对于每一个右边界,如果
nums[right] == 0
,那么count0++
- 如果
count0 > 1
,则当nums[left] == 0
时将count0--
,否则count0
不变,然后将left++
,直到count0 <= 1
- 如果
- 当前滑动窗口
[left,riht]
中的子数组为最多包含一个0的子数组,其长度为right - left + 1
,使用当前子数组的长度更新子数组的最大长度
AC代码
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int left = 0;
int right = 0;
int ans = 0;
int count0 = 0;
for (right = 0; right < nums.length; right++) {
if (nums[right] == 0) {
count0++;
}
while (count0 > 1) {
if (nums[left] == 0) {
count0--;
}
left++;
}
ans = Math.max(ans, right - left + 1);
}
return ans;
}
}
边栏推荐
猜你喜欢
牛客收藏上万的神作!这份阿里P8手写的MySQL主从原理手册真的牛
IR(红外遥控)基本原理
NLP和CV中的Local和Global建模
网盘目录搜索系统源码+搭建教程
使用类似搭积木的低代码开发方式进行 SAP API 开发
小程序使用formdata格式传参
2022 world conference on robots is holding, intelligent robot booster to intelligent, digital transformation and upgrading traditional industry
基于ftp协议的上传与下载
《STM32MP1 M4裸机CubeIDE开发指南》第二十四章 DAC实验
重载与重写有什么区别?
随机推荐
关于mysql联合索引的最左前缀原则以及b+tree
Apple developer account application process full version
Flutter实现搜索的三种方式
文档数据库中的文档有什么用呢?
关于振弦采集模块及采集仪振弦频率值准确率的问题
ReentrantLock原理,ReentrantLock和synchronized区别
面试突击72:输入URL之后会执行什么流程?
Loadrunner12.0.2安装及中文语言包安装(汉化)
列存储数据库是什么呢?
一、用户数据仓库
左益豪:用代码创造一个新世界|OneFlow U
centos 安装redis
一文读懂配置管理(CM)
定时任务框架Quartz-(一)Quartz入门与Demo搭建
技术分享 | 接口自动化测试之JSON Schema模式该如何使用?
NoSQL数据库有哪些优势吗?又有哪些劣势呢?
vs2019+boost library (boost_1_67_0) installation
"Weekly Translate Go" This time we have something different!-- "How to Code in Go" series launched
Detailed Explanation of Gradient Vanishing and Gradient Explosion Problems
Thoroughly understand the differences and application scenarios of session, cookie, sessionStorage, and localStorage (interview orientation)