题目链接
https://leetcode.com/problems/max-consecutive-ones/
题目描述
给定二进制数组,计算其中最大连续1的个数。
示例
输入:[1,1,0,1,1,1]
输出:3
解题思路一
可以通过一次遍历实现,记录当前最大的连续1的个数maxcount和当前连续1的个数curcount。如果当前元素为1,就让curcount新增1,并更新maxcount,如果当前元素为0,就将curcount置为0,等下次遇到1再新增。
Python实现
class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
maxcount = 0 #当前最长连续1个数
curcount = 0 #当前连续1个数
for num in nums:
if num == 1:
curcount += 1
maxcount = max(maxcount,curcount)
else:
curcount = 0 #遇到0要重新开始计数
return maxcount
解题思路二
此题也可以由滑动窗口来解,如果窗口内元素全为1,则继续扩张