給定乙個由若干 0 和 1 組成的陣列 a,我們最多可以將 k 個值從 0 變成 1 。
返回僅包含 1 的最長(連續)子陣列的長度。
示例 1:
輸入:a = [1,1,1,0,0,0,1,1,1,1,0], k = 2
輸出:6
解釋:
[1,1,1,0,0,1,1,1,1,1,1]
粗體數字從 0 翻轉到 1,最長的子陣列長度為 6。
示例 2:
輸入:a = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1], k = 3
輸出:10
解釋:[0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1]
粗體數字從 0 翻轉到 1,最長的子陣列長度為 10。
利用滑動視窗來解決
from typing import *
class solution:
def longestones(self, a: list[int], k: int) -> int:
r=0cnt=0
while rif a[r]==0:
cnt+=1
r+=1
max_len=r
l=0while rif a[r]==0:
while a[l]!=0:
l+=1
l+=1
max_len=max(max_len,r-l+1)
r+=1
return max_len
開啟檔案的最大個數
1一級目錄中開啟最大子目錄個數 mkdir建立乙個檔案時,只能建立31998個子檔案,可以用 usr include linux etc2 fs.h檢視。為什麼巨集定義是32000個,而實際可用的只有31998個?因為mkdir在建立目錄時,目錄下會預設建立兩個子目錄,乙個是 目錄 代表當前目錄 乙...
最大連續1的個數
給定乙個二進位制陣列,計算其中最大連續1的個數。示例 1 輸入 1,1,0,1,1,1 輸出 3 解釋 開頭的兩位和最後的三位都是連續1,所以最大連續1的個數是 3.注意 輸入的陣列只包含 0 和1。輸入陣列的長度是正整數,且不超過 10,000。題目中讓統計最大連續1的個數,先定義乙個變數統計最後...
485 最大連續1的個數
題目給定乙個二進位制陣列,計算其中最大連續1的個數。只包含0和1 常規思路一般想到的是都是遍歷陣列,用乙個變數記錄當前連續1的個數,另乙個變數記錄最大的長度,每當出現0就比較這兩個變數直到最後完成。但是這個題目我們可以用滑窗法來做 滑窗法滑動視窗法,可以用來解決一些查詢滿足一定條件的連續區間的性質等...