485. 最大连续 1 的个数
Posted 炫云云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了485. 最大连续 1 的个数相关的知识,希望对你有一定的参考价值。
485. 最大连续 1 的个数
给定一个二进制数组, 计算其中最大连续 1 的个数。
输入:[1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
一次遍历
- 遍历时需要保存遇到的最后一个 0的位置
index
; - 如果遍历到
i
i
i 位置的数字是
0
0
0 ,那么更新
index
为当前位置 i i i ; - 如果遍历到 i i i 位置的数字是 1 ,那么当前区间内共有 i − i n d e x i - index i−index 个连续的 1 ;
- 记录遍历过程中所有连续的 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
参考
以上是关于485. 最大连续 1 的个数的主要内容,如果未能解决你的问题,请参考以下文章