zoukankan      html  css  js  c++  java
  • leetcode 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就一直计数。

    class Solution(object):
        def findMaxConsecutiveOnes(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            ans = 0
            i = 0
            length = len(nums)
            while i<length:
                ones = 0
                while i<length and nums[i] == 1:
                    i += 1
                    ones += 1
                i += 1 # i == length or nums[i]==0
                ans = max(ones, ans)
            return ans

    OR:

    class Solution(object):
        def findMaxConsecutiveOnes(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            # greedy
            ans = 0
            i = 0
            length = len(nums)
            while i<length:
                while i<length and nums[i] == 0:
                    i += 1
                if i==length: break
                ones = 0
                while i<length and nums[i] == 1:
                    i += 1
                    ones += 1
                ans = max(ones, ans)
            return ans

    解法2:

    使用计数器,看到1就+1,看到0就reset计数器为0.

    class Solution(object):
        def findMaxConsecutiveOnes(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            ans = 0
            ones = 0
            for n in nums:
                if n == 0:
                    ones = 0
                else:
                    ones += 1
                ans = max(ones, ans)
            return ans
  • 相关阅读:
    更改SQLServer实例默认字符集
    使用DMV排查数据库系统异常
    OD使用符号文件进行源码级调试问题
    申请博客园第一天
    各种mac软件地址
    第6条:理解“属性”
    提高代码质量的几个方法!52个,先罗列几个自己看
    Item2的使用
    MAC命令大全
    PV UV IP
  • 原文地址:https://www.cnblogs.com/bonelee/p/8552749.html
Copyright © 2011-2022 走看看