【补种未成活胡杨】 近些年来,我国防沙治沙取得显著成果。某沙漠新种植N棵胡杨(编号1-N),排成一排。一个月后,有M棵胡杨未能成活。 现可补种胡杨K棵,请问如何补种(只能补种,不能新种),可以得到最多的连续胡杨树? 输入描述: N 总种植数量 M 未成活胡杨数量 M 个空格分隔的数,按编号从小到大排列 K 最多可以补种的数量 其中: 1<=N<=100000 1<=M<=N 0<=K<=M 输出描述: 最多的连续胡杨棵树 示例1: 输入 5 2 2 4 1 输出 3
n = int(input())
m = int(input())
dead = list(map(int, input().split()))
k = int(input())
s = "1"*n
for i in dead:
s = s[0:i-1] + "0" + s[i:]
ans = 0
left, right = 0, 0
zero_count = 0
while right < n:
if s[right] == "0":
zero_count += 1
while zero_count > k:
if s[left] == "0":
zero_count -= 1
left += 1
ans = max(ans, right - left + 1)
right += 1
print(res)
参考力扣算法题1004. 最大连续1的个数 III