題目:
給定乙個長度為n的,僅包含0,1的數列。例如1,0,0,1,1,1,0。我們可以輕易算出,它的最長全1區間長度是3。從陣列的第4位到第6位。
現在,你獲得了k次可以將某個位置上的0變為1的機會,但可以不用完所有的機會。
請你給出,你使用了你的變化機會後,這個數列的最長全1區間最大是多少
分析:要使最大全1區間最長,一定是將某段連續區間內的0變為1。由此,可從左到右掃瞄整個陣列,記錄每個位置向右依次將0變為1後的最大全1區間長度。最後求整個陣列的最大值。
上**:
a = input().split()
b = input().split()
n, k = int(a[0]), int(b[0])
alist = [int(x) for x in b]
#n, k = 4, 1
#alist = [0, 1, 0, 1]
maxlen =
end = 0 # 指向全1區間的結尾
start = 0 # 指向全1區間的開頭
while end < n: # 結束條件:end掃到末尾
# 找到當前start對應的end的最遠位置
while k >= 0 and end < n:
if alist[end] == 1: # 如果是1,繼續走
end += 1
continue
k -= 1 # 如果是0,消耗一次0到1的變化機會
end += 1
# start向前挪動一位
if alist[start] == 0: # 如果挪動前start是0,則可節省1次01變化
k = 1
start += 1
print(max(maxlen))
乙個好玩的程式設計小遊戲 母牛生小牛
題目 母牛從3 7歲初每年會生產1頭小母牛,10歲後死亡 10歲任然存活 假設初始有一頭剛出生的母牛,請問第n年有多少頭母牛?年從第一年開始計數 注 第三年初會出生 第一頭母牛,故第三年有兩頭母牛。第五年初,第三年出生的母牛會生產,故第五年有五頭母牛。歲數是虛數 示例 輸入 輸出 2 13 2 4 ...
CRASH 乙個賭博小遊戲的編寫
初步實現了本人從面向過程到物件導向程式設計的轉變 程式功能 可以玩n回合 bout 每回合 bout 只要未分勝負就可以繼續玩下去,或中途退出。crashgame.h 乙個簡單的賭博遊戲,遊戲規則如下 玩家擲兩個骰子,點數為1到6,如果第一次點數和為7或11,則玩家勝,如果點數和為2 3或12,則玩...
自己做的乙個小遊戲(1) 吃金幣(基礎版)
include 計時器 include include 跳轉函式 void turnto int x,int y 列印 清除 void clean int x,int y 隨機數 int unknow int x,int y o i開始 int main void 計時開始 start clock ...