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
  • 相关阅读:
    Flipping with Physis: Motion Editing for Acrobatics
    Practicle Character Physics For Animators
    html5 files属性
    ASP.NET大文件上传设置。maxRequestLength无效的情况
    elasticsearch
    html用Css来关闭sougou输入框
    模拟form提交
    疯狂的跨域技术
    日志记录用NLog
    备份iis站点信息
  • 原文地址:https://www.cnblogs.com/bonelee/p/8552749.html
Copyright © 2011-2022 走看看