题解 | 01序列

01序列

https://www.nowcoder.com/practice/b0c948dbe577485598b982a430d65c39

import sys
data=sys.stdin.read().splitlines()
m=int(data[0])
metrix = list(map(int,data[1].split()))
n=int(data[2])
len_0=0#连续0的长度
s=[]#存储0序列的长度
for i in range(m):#找出所有连续0的最大长度
    if metrix[i]==0:
        len_0+=1
    else:#当前值不等于0则连续0长度重新计数
        s.append(len_0)#存储len_0的长度
        len_0=0
s.append(len_0)#保证结尾也能顺利存储
for i in s:
    #长度为i的0序列,最多可以改成1的个数为(i-1)/2
    n-=int((i-1)/2)
if n>0:
    print("false")
else:
    print("true")

    

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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