1. 程式人生 > 其它 >Leetcode每日一題:485. 最大連續 1 的個數

Leetcode每日一題:485. 最大連續 1 的個數

技術標籤: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

在這裡插入圖片描述