版权声明:本文为博主原创文章,未经博主允许不得转载。@ceezyyy11 https://blog.csdn.net/ceezyyy11/article/details/88956814
[LeetCode] 485. Max Consecutive Ones (C++)
Easy
Share
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 0 and 1.
The length of input array is a positive integer and will not exceed 10,000
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
vector<int> res;
int tempCount = 0; /* count the number of consecutive 1s */
for (int i = 0; i < nums.size(); i++) {
if (nums.at(i) != 0) {
tempCount++;
}
else {
res.push_back(tempCount);
/*
Each length(number) of consecutive 1s,
here use vector in order to find the maximum number
by sorting the array
*/
tempCount = 0;
}
}
res.push_back(tempCount); /* it can return zero even if all elements are zero */
sort(res.begin(), res.end(), greater<int>()); /* find the maximum number of consecutive 1s */
return res.at(0);
}
};