485. 最大连续1的个数
给定一个二进制数组, 计算其中最大连续1的个数。
示例 1:
输入: [1,1,0,1,1,1]
输出: 3
解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.
注意:
输入的数组只包含 0 和1。
输入数组的长度是正整数,且不超过 10,000。
解题:
设置两个变量k,m分别记录连续1的个数和连续1的个数最大值。
写一个for循环,每当遇到1时k加一,遇到0时取m和k的最大值。数组最后一个数可能是1,所以for循环完成后再取一次m和k的最大值。
class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
k=0
m=0
for i in range(len(nums)):
if nums[i]==1:
k=k+1
if nums[i]==0:
m=max(m,k)
k=0
m=max(m,k)
return m