题解 | #最长全1串#

最长全1串

http://www.nowcoder.com/practice/744eb5eb60c044e1b05e4dfb5f578dbe

根据题意,求解最长全1串,可利用双指针方式,通过计数器计算区间内0的个数,若超过指定值,则移动左指针,最终长度为 r - l + 1

from collections import defaultdict
n, k = map(int, input().strip().split())
data = list(map(int,input().strip().split()))
count = defaultdict(int)
l = 0
for r in range(n):
    count[data[r]] += 1
    if r - l + 1 - count[1] > k:
        count[data[l]] -= 1
        l += 1
print(r - l + 1)
    
全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务