首页 > 试题广场 >

最长连续子数组

[编程题]最长连续子数组
  • 热度指数:922 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个由若干 0 和 1 组成的数组 A,我们最多可以将 K 个值从 0 变成 1 ,返回仅包含 1 的最长(连续)子数组的长度
示例1

输入

[1,1,1,0,0,0,1,1,1,1,0],2

输出

6

说明

可以将输入中的第3个0和第4个0变成1,新数组为[1,1,1,0,0,1,1,1,1,1,1],因此最长连续1的子数组长度为6
示例2

输入

[0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1],3

输出

10

说明

可以将输入中的第3个0、第4个0,第5个0都变成1,新数组为[0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1],因此最长连续1的子数组长度为10