485. Max Consecutive Ones



485. Max Consecutive Ones (easy) 最大连续1的个数

题干

Given a binary array nums, return the maximum number of consecutive 1’s in the array.

Example 1:

Input: nums = [1,1,0,1,1,1]
Output: 3
Explanation: The first two digits or the last three digits are consecutive 1s. The maximum number of consecutive 1s is 3.

Example 2:

Input: nums = [1,0,1,1,0,1]
Output: 2

Constraints:

解法思路

循环,非零计和,遇零清零。清零前更新最大连续值。

这样应该能做到时间复杂度O(n),空间复杂度O(1)

我的解法

class Solution:
    def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
        result = 0
        tmp_ret = 0
        for num in nums:
            if num == 0:
                tmp_ret = 0
                continue
            tmp_ret += num
            result = max(tmp_ret, result)
        return result