题解 | #最长全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)
    
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 11:29
已编辑
斯卡蒂味的鱼汤:知道你不会来数马,就不捞你😂最近数马疯狂扩招,招聘要求挺低的,你能力肯定够,应该就是因为太强了,知道你不会来才不捞你
投递腾讯云智研发等公司7个岗位
点赞 评论 收藏
分享
牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学这样才显得专业
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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