力扣--1004.最大连续1的个数

给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k0 ,则返回 数组中连续 1 的最大个数

示例 1:

复制代码
输入:nums = [1,1,1,0,0,0,1,1,1,1,0], K = 2
输出:6
解释:[1,1,1,0,0,1,1,1,1,1,1]
粗体数字从 0 翻转到 1,最长的子数组长度为 6。

示例 2:

复制代码
输入:nums = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1], K = 3
输出:10
解释:[0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1]
粗体数字从 0 翻转到 1,最长的子数组长度为 10。

提示:

  • 1 <= nums.length <= 105
  • nums[i] 不是 0 就是 1
  • 0 <= k <= nums.length
java 复制代码
class Solution {
    public int longestOnes(int[] nums, int k) {
        int max=0;
        int start=0,end=0;
        int zero=0;
        for(end =0;end<nums.length;end++){
            if(nums[end]==0){
                zero++;
            }
            while(zero>k){
                if(nums[start]==0){
                    zero--;
                }
                start++;
            }
            max=Math.max(max,end-start+1);
        }
        return max;
    }
}
相关推荐
十五年专注C++开发几秒前
Qt中的全局函数讲解集合(全)
开发语言·c++·qt·算法
Betty_蹄蹄boo1 分钟前
如何搭建spark yarn模式的集群
java·大数据·spark
杜小暑2 分钟前
数据结构之顺序表
c语言·数据结构
浅笑安然ELIAUK4 分钟前
算法-移除元素
算法
camellia6 分钟前
SpringBoot(二十六)SpringBoot自定义注解
java·后端
camellia9 分钟前
SpringBoot(二十四)SpringBoot集成redis哨兵集群
java·前端·后端
仲夏plus14 分钟前
Java:基于SpringBoot的微服务文件上传下载组件,支持本地+OSS上传和后期可扩展性
java·spring boot
潇湘夜雨69719 分钟前
2023ICPC合肥题解
算法
MacroZheng21 分钟前
换掉ES!SpringBoot + Meilisearch实现商品搜索,太方便了!
java·spring boot·后端
Small踢倒coffee_氕氘氚22 分钟前
iPhone闹钟无法识别调休致用户迟到,苹果客服称会记录反馈
笔记·算法·灌灌灌灌