目錄
- 問題描述
- 思路分析及代碼實作
問題描述
給定一個二進制陣列, 計算其中最大連續 1 的個數,
示例:
輸入:[1,1,0,1,1,1]
輸出:3
解釋:開頭的兩位和最后的三位都是連續 1 ,所以最大連續 1 的個數是 3.提示:
輸入的陣列只包含 0 和 1 , 輸入陣列的長度是正整數,且不超過 10,000,
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/max-consecutive-ones
著作權歸領扣網路所有,商業轉載請聯系官方授權,非商業轉載請注明出處,
思路分析及代碼實作
這道題就是一道簡單的雙指標問題,根據右指標的移動判斷是否是1,然后每移動一次比較長度,如果右指標所指不為0,將左指標拿過來放到右指標+1的位置,同時右指標也+1
class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
n = len(nums)
left = 0
right = 0
res = 0
while right < n:
if nums[right] == 1:
right += 1
elif nums[right] == 0:
left = right + 1
right += 1
res = max(res, right-left)
return res

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/260420.html
標籤:python
上一篇:PyQt5入門(二十二)信號與槽(下)多視窗互動(深刻理解信號為何而生!邏輯性很棒的干貨!!!!)
下一篇:求指導
