最长连续1
Submit solution
Points:
300
Time limit:
1.0s
Memory limit:
4M
Author:
Problem type
Allowed languages
C, C++
leetcode 1004
给定一个二进制数组 nums(只包含 0 和 1)和一个整数 k,
你最多可以将 k 个 0 翻转成 1。
请返回翻转最多 k 个 0 之后,数组中连续 1 的最大个数。
第一行输入一个正数n
第二行输入n个整数
第二行输入一个整数k
输出反转k个0后,字符串里面1的最大个数。
示例 1:
11
1 1 1 0 0 0 1 1 1 1 0
2
输出:
6
解释:
可以将两个 0 翻转成 1,变成:
[1,1,1,0,0,1,1,1,1,1,1]
粗体的数字是被翻转的 0。
最长的连续 1 子数组长度是 6。
示例 2:
19
0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 1 1 1 1
3
输出:
10
解释:
可以将三个 0 翻转成 1,变成:
[0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1]
粗体的数字是被翻转的 0。
最长的连续 1 子数组长度是 10。
约束条件:
\(1 \le nums.length \le 10⁵\)
nums[i] 仅为 0 或 1
\(0 \le k \le nums.length\)
Comments