给定一个二进制数组 nums
, 计算其中最大连续 1
的个数。
示例 1:
输入:nums = [1,1,0,1,1,1] 输出:3 解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.
示例 2:
输入:nums = [1,0,1,1,0,1] 输出:2
提示:
1 <= nums.length <= 105
nums[i]
不是0
就是1
.
class Solution:
def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
res = t = 0
for num in nums:
if num == 1:
t += 1
else:
res = max(res, t)
t = 0
return max(res, t)
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int res = 0, t = 0;
for (int num : nums) {
if (num == 1) {
++t;
} else {
res = Math.max(res, t);
t = 0;
}
}
return Math.max(res, t);
}
}
/**
* @param {number[]} nums
* @return {number}
*/
var findMaxConsecutiveOnes = function (nums) {
let res = 0,
t = 0;
for (let num of nums) {
if (num == 1) {
++t;
} else {
res = Math.max(res, t);
t = 0;
}
}
return Math.max(res, t);
};
function findMaxConsecutiveOnes(nums: number[]): number {
let res = 0;
let count = 0;
for (const num of nums) {
if (num === 0) {
res = Math.max(res, count);
count = 0;
} else {
count++;
}
}
return Math.max(res, count);
}
impl Solution {
pub fn find_max_consecutive_ones(nums: Vec<i32>) -> i32 {
let mut res = 0;
let mut count = 0;
for num in nums {
if num == 0 {
res = res.max(count);
count = 0;
} else {
count += 1;
}
}
res.max(count)
}
}