最大連續 1 的個數 滑窗法的實踐

2021-10-19 14:28:28 字數 562 閱讀 5777

給定乙個二進位制陣列, 計算其中最大連續 1 的個數。

我們直接分析思路:

可以對陣列遍歷一次,遍歷時需要儲存遇到的最後乙個 0 的位置 index;

如果遍歷到 i位置的數字是 0,那麼更新 index 為當前位置 i;

如果遍歷到 i 位置的數字是 1,那麼當前區間內共有 i−index 個連續的 1;

記錄遍歷過程中所有連續的 1 的長度的最大值;

class solution3  else 

}maxcount = max(maxcount, count);

return maxcount;}};

看注釋,很好理解

class solution 

else

res = max(res, right - left);

} return res;

}};

參考:

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

485 最大連續1的個數

給定乙個二進位制陣列,計算其中最大連續1的個數。示例 1 輸入 1 1,0 1,1 1 輸出 3解釋 開頭的兩位和最後的三位都是連續1,所以最大連續1的個數是 3 注意 輸入的陣列只包含 0 和1。輸入陣列的長度是正整數,且不超過 10,000。class solution def findmaxc...