首页 > 其他 > 详细

最长全1串

时间:2020-07-28 01:30:04      阅读:89      评论:0      收藏:0      [点我收藏+]

题目描述
给你一个由0、1组成的字符串,定义答案为该串中最长的连续1的长度,
现在你有至多K次机会,每次机会可以将串中的某个0改成1,现在问最大的可能答案。

输入描述:
输入第一行两个整数N,K,表示字符串长度和机会次数

第二行输入N个整数,表示该字符串的元素

( 1 <= N <= 300000
, 0 <= K <= N )
输出描述:
输出一行表示答案
示例1
输入
10 2
1 0 0 1 0 1 0 1 0 1
输出
5

 

参考:
思路:双指针

n, k = map(int, input().split())
num = list(map(int, input().split()))
i, j = 0, 0
max_value = 0
while j < n:
    if num[j] == 1:
        j += 1
    elif num[j] == 0 and k > 0:
        k -= 1
        j += 1
    elif k <= 0:
        if num[i] == 0:
            k += 1
            i += 1
        else:
            i += 1
    max_value = max(max_value, j-i)
print(max_value)

 

最长全1串

原文:https://www.cnblogs.com/ai-learning-blogs/p/13388103.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!