485 Max Consecutive Ones

Given a binary array, find the maximum number of consecutive 1s in this array.

Example 1:

Input:
 [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.

Note:

  • The input array will only contain 0 and 1.

  • The length of input array is a positive integer and will not exceed 10,000

The Idea: Maintain the maxcount of 1s. Reset at 0.

Complexity: O(N) time and O(1) space

class Solution:
    def findMaxConsecutiveOnes(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """

        cur_max = 0    
        maxx = 0
        for num in nums:
            if num:
                cur_max += num
                maxx = max(cur_max, maxx)
            else:
                cur_max = 0
        return maxx

Last updated