力扣--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;
    }
}
相关推荐
飞滕人生TYF6 分钟前
java Queue 详解
java·队列
VertexGeek11 分钟前
Rust学习(八):异常处理和宏编程:
学习·算法·rust
石小石Orz11 分钟前
Three.js + AI:AI 算法生成 3D 萤火虫飞舞效果~
javascript·人工智能·算法
武子康27 分钟前
大数据-230 离线数仓 - ODS层的构建 Hive处理 UDF 与 SerDe 处理 与 当前总结
java·大数据·数据仓库·hive·hadoop·sql·hdfs
武子康29 分钟前
大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本
java·大数据·数据仓库·hive·hadoop·mysql
苏-言36 分钟前
Spring IOC实战指南:从零到一的构建过程
java·数据库·spring
界面开发小八哥43 分钟前
更高效的Java 23开发,IntelliJ IDEA助力全面升级
java·开发语言·ide·intellij-idea·开发工具
草莓base1 小时前
【手写一个spring】spring源码的简单实现--容器启动
java·后端·spring
jiao_mrswang1 小时前
leetcode-18-四数之和
算法·leetcode·职场和发展
Allen Bright1 小时前
maven概述
java·maven