- 标签:数组
- 难度:简单
描述:给定一个二进制数组
要求:计算其中最大连续
说明:
-
$1 \le nums.length \le 10^5$ 。 -
$nums[i]$ 不是$0$ 就是$1$ 。
示例:
- 示例 1:
输入:nums = [1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
- 示例 2:
输入:nums = [1,0,1,1,0,1]
输出:2
- 使用两个变量
$cnt$ 和$ans$ 。$cnt$ 用于存储当前连续$1$ 的个数,$ans$ 用于存储最大连续$1$ 的个数。 - 然后进行一次遍历,统计当前连续
$1$ 的个数,并更新最大的连续$1$ 个数。 - 最后返回
$ans$ 作为答案。
class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
ans = 0
cnt = 0
for num in nums:
if num == 1:
cnt += 1
ans = max(ans, cnt)
else:
cnt = 0
return ans
- 时间复杂度:$O(n)$。
- 空间复杂度:$O(1)$。