[leetcode]Max Consecutive Ones II

反转0,会将前一段和这一段拼起来。所以记录上一段1的个数和这一段1的个数。

class Solution:
    def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
        maxCnt = 0
        lastCnt = -1
        thisCnt = 0
        for i in range(len(nums)):
            if nums[i] == 1:
                thisCnt += 1
            else: # 0
                maxCnt = max(maxCnt, lastCnt + 1 + thisCnt)
                lastCnt = thisCnt
                thisCnt = 0
        maxCnt = max(maxCnt, lastCnt + 1 + thisCnt)
        return maxCnt

  

你可能感兴趣的:([leetcode]Max Consecutive Ones II)