485. 最大连续 1 的个数

Posted 炫云云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了485. 最大连续 1 的个数相关的知识,希望对你有一定的参考价值。

485. 最大连续 1 的个数

485. 最大连续 1 的个数

1004. 最大连续1的个数 III

给定一个二进制数组, 计算其中最大连续 1 的个数。

输入:[1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.

一次遍历

  1. 遍历时需要保存遇到的最后一个 0的位置 index
  2. 如果遍历到 i i i 位置的数字是 0 0 0​ ,那么更新index为当前位置 i i i
  3. 如果遍历到 i i i 位置的数字是 1 ,那么当前区间内共有 i − i n d e x i - index iindex​ 个连续的 1 ;
  4. 记录遍历过程中所有连续的 1 的长度的最大值。

class Solution(object):
    def findMaxConsecutiveOnes(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        res = 0
        for i, num in enumerate(nums):
            if num == 0:
                index = i
            else:
                res = max(res, i - index)
        return res
class Solution:
    def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
        maxCount = count = 0

        for i, num in enumerate(nums):
            if num == 1:
                count += 1
            else:
                maxCount = max(maxCount, count)
                count = 0
        
        maxCount = max(maxCount, count)
        return maxCount

参考

Krahets - 力扣(LeetCode) (leetcode-cn.com)

以上是关于485. 最大连续 1 的个数的主要内容,如果未能解决你的问题,请参考以下文章

485-最大连续1的个数

LeetCode(485. 最大连续1的个数)

485. 最大连续1的个数

485. 最大连续1的个数

LeetCode刷题485-简单-最大连续1的个数

LeetCode刷题485-简单-最大连续1的个数