Topic
给定一个二进制数组, 计算其中最大连续 1 的个数。
Example
输入:[1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
Tips
输入的数组只包含 0 和 1 。
输入数组的长度是正整数,且不超过 10,000。
Solution
通过enumerate函数仅需一次遍历即可满足题意
同样是滑动窗口的方法
只要窗口的右侧为1则继续右移窗口右侧指针
当窗口右侧出现0的时候
将窗口左侧指针放置在当前位置
并继续右移窗口右指针
最终返回窗口长度的最大值
Code
class Solution(object):
def findMaxConsecutiveOnes(self, nums):
index = -1
res = 0
for i, num in enumerate(nums):
if num == 0:
index = i
else:
res = max(res, i - index)
return res