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
分析:
每找到1,用一个标记submax标记连续出现1的次数,然后取max和submax最大的值。
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int size = nums.size();
int max = 0;
for (int i = 0; i < size; i++) {
int submax = 0;
if (nums[i] == 1) {
while (i < size && nums[i] == 1) {
submax++;
i++;
}
max = max < submax ? submax : max;
}
}
return max;
}
};