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

求最长的连续1,维护一个全局最长值和一个当前计数就行了。当前如果是1,那么当前计数+1,然后全局最长来取一个max,如果当前不是1,那么当前计数=0

class Solution(object):
    def findMaxConsecutiveOnes(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        ans = 0
        cnt = 0
        for value in nums:
            if value == 1:
                cnt += 1
                ans = max(ans, cnt)
            else:
                cnt = 0
        return ans

 

posted @ 2020-07-02 23:06  whatyouthink  阅读(129)  评论(0编辑  收藏  举报