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