Given a binary array, find the maximum number of consecutive 1s in this array.
Example 1:
Input: [1,1,0,1,1,1] Output: 3 Explanation: The first two digits or the last three digits are consecutive 1s. The maximum number of consecutive 1s is 3.
Note:
- The input array will only contain
0and1. - The length of input array is a positive integer and will not exceed 10,000
没想到什么好的方法,时间复杂度O(n),把数组遍历一遍。
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int cnt = 0;
int max = 0;
for( int i = 0; i < nums.size(); i++ ) {
if( nums[i] ) cnt++;
else {
if( cnt > max ) max = cnt;
cnt = 0;
}
}
return max > cnt ? max : cnt;
}
};
本文介绍了一种简单而有效的算法,用于找出二进制数组中最大连续1的个数。通过一次遍历数组,该算法实现了O(n)的时间复杂度,并提供了一个C++实现示例。
380

被折叠的 条评论
为什么被折叠?



