Leetcode每日一題:485. 最大連續 1 的個數
阿新 • • 發佈:2021-02-17
技術標籤:leetcode練習leetcodepython指標
目錄
問題描述
給定一個二進位制陣列, 計算其中最大連續 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