抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

如果面试也这样题就好了, 哈哈

题目描述

给定一个二进制数组, 计算其中最大连续 1 的个数。

输入:[1,1,0,1,1,1]
输出:3
解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.

提示

  • 输入的数组只包含 0 和 1 。
  • 输入数组的长度是正整数,且不超过 10,000。

复杂度分析

  • 时间复杂度:O(n)O(n),其中 nn 是数组的长度。需要遍历数组一次。
  • 空间复杂度:O(1)O(1)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
public int findMaxConsecutiveOnes(int[] nums) {
int maxCount = 0, count = 0;
int n = nums.length;
for(int i = 0; i < n; i++) {
if(nums[i] == 1) {
count++;
} else {
maxCount = Math.max(maxCount, count);
count = 0;
}
}
maxCount = Math.max(maxCount, count);
return maxCount;
}
}

用户交流区

温馨提示: 遵纪守法, 友善评论!





津ICP备19009605号

WordCount24k