485 最大連續1的個數

2021-10-19 10:46:08 字數 979 閱讀 8207

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

注意:輸入的陣列只包含 0 和1。

輸入陣列的長度是正整數,且不超過 10,000。

# 判斷陣列是否滿足注意條件,初始化變數x、y,迴圈陣列,若為1則x+=1,若為0則判斷y是否小於x,若小於則y=x並且清空x,直到整個陣列迴圈完畢

class

solution

:def

findmaxconsecutiveones

(self, nums: list[

int])-

>

int:

# 判斷陣列長度是否溢位

iflen

(nums)

>

10000

:return

false

# 初始化變數用來儲存值

x =0 y =

0for i in

range

(len

(nums)):

# 迴圈陣列

if nums[i]!=0

and nums[i]!=1

:# 判斷此陣列是否滿足條件

return

false

elif nums[i]==1

and i +1==

len(nums)

:# 若此次迴圈的數字為1且為陣列最後乙個數字

x +=

1# 因為此次數字為1所有x仍需+1

if y < x:

# 判斷x、y大小

y = x # 賦值

x =0# 清空x值

elif nums[i]==1

:# 若此次迴圈的數字為1

x +=

1elif nums[i]==0

:# 若此次迴圈的數字為0

if y < x:

y = x

x =0return y

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...

485 最大連續1的個數

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