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

LeetCode 485题 最大连续1的个数

题目描述:

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

涉及内容:数组

示例:

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

思路:

首先判断如果给出数组为空的话,则直接返回0

之后设置两个计数标志count和result

然后对数组进行遍历

  • 如果当前值是1,那么count计数加一
  • 如果当前值是0,那么比较count和result的大小,并将较大的那个值赋给result

最后返回result和count的最大值

提交结果:

完整代码:

class Solution:
    def findMaxConsecutiveOnes(self, A: List[int]) -> int:
        if A is None or len(A)==0:  #判断是否为空
            return 0
        count=0
        result=0
        for i in A:
            if i==1:
                count+=1
            else:
                result=max(result,count)
                count=0
        return max(result,count)                  
posted @ 2021-03-31 20:04  乖张❤  阅读(50)  评论(0)    收藏  举报