当前位置:网站首页>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^5nums[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;
}
}
边栏推荐
- idea installation steps
- 使用.NET简单实现一个Redis的高性能克隆版(三)
- 关于win下面Celery服务报 Process 'Worker' exited with 'exitcode 1' [duplicate]
- Apple developer account application process full version
- 技术分享 | 接口自动化测试之JSON Schema模式该如何使用?
- 3D激光SLAM:LIO-SAM整体介绍与安装编译
- 二、线性结构
- ReentrantReadWriteLock读写锁和票据锁StempedLock
- Dubins曲线学习笔记及相关思考
- 简单混合运算计算器
猜你喜欢
随机推荐
关于mysql联合索引的最左前缀原则以及b+tree
IR(红外遥控)基本原理
上海控安SmartRocket系列产品推介(二):SmartRocket Modeler可视化建模开发工具
分分钟快速定制您的专属个性化软件应用——BizTool自动化工具简介
便利贴--48{再次,适配屏幕宽高class}
基于ftp协议的上传与下载
Detailed Explanation of Gradient Vanishing and Gradient Explosion Problems
卫星互联网真能替代 5G?
Redis 定长队列的探索和实践
使用C# 调用api接口获取法定节假日(百度api)
FreeSql 将 Saas 租户方案精简到极致[.NET ORM SAAS]
【力扣】两数相加
利用图像二维熵实现视频信号丢失检测(Signal Loss Detection)
《STM32MP1 M4裸机CubeIDE开发指南》第二十四章 DAC实验
2022 world conference on robots is holding, intelligent robot booster to intelligent, digital transformation and upgrading traditional industry
使用文档数据库的目的是什么呢?
面试突击72:输入URL之后会执行什么流程?
Service Mesh迁移原则
八、排序与搜索
Leetcode 105. 从前序与中序遍历序列构造二叉树









