連續1的最大個數3 1004

2021-10-19 10:48:10 字數 779 閱讀 1197

給定乙個由若干 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就比較這兩個變數直到最後完成。但是這個題目我們可以用滑窗法來做 滑窗法滑動視窗法,可以用來解決一些查詢滿足一定條件的連續區間的性質等...