力扣第485题:最大连续 1 的个数
问题描述
给定一个二进制数组 nums , 计算其中最大连续 1 的个数。
示例1:
输入:nums = [1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
示例2:
输入:nums = [1,0,1,1,0,1]
输出:2
解决方案:
定义一个临时变量记录当前连续1的个数,再定义一个返回值。但是最终返回max(临时变量,返回值)
class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
# 定义一个返回值
res_count = 0
# 定义一个临时变量记录当前1的个数
pre_num = 0
# 遍历当前数组
for number in nums:
if number == 1:
# 临时变量+1
pre_num += 1
else:
# 判断哪个大 再赋值给返回值
res_count = res_count if res_count > pre_num else pre_num
# 临时变量为0
pre_num = 0
return res_count if res_count > pre_num else pre_num