最大连续 1 的个数
题目要求:
给定一个二进制数组, 计算其中最大连续 1 的个数。
解题思路:
- 保存每个连续1的子数组长度;
- 更新遍历到的每个连续1的子数组长度。
- 返回最长的连续1的子数组长度
题解代码:
详细解释见注释
class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
#初始化一个保存连续1长度的变量
n = 0
#中间值,用来更新连续1的个数,及最大连续1长度
j = 0
#遍历数组
for i in nums:
#符合条件则中间值加一
if i == 1:
j +=1
#不符合说明连续1结束,更新n,j的值
else:
n = max(n,j)
j = 0
#连续的1可能在最后面,这样遍历到最后一个值后,不会更新n值
n = max(n,j)
#返回最长连续1的长度
return n
(“What goes around,comes around.
”FIGHTING. . . .)