LeetCode 485. Max Consecutive Ones
题目描述:
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
最长的连续1的个数。很简单,方法也很多。一开始在最后加一个0是为了方便结尾的处理。
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
nums.push_back(0);
int maxNum = 0;
int beginIndex = -1;
for (int i = 0; i < nums.size(); i++) {
if(nums[i] == 1 && beginIndex == -1){
beginIndex = i;
}
else if(nums[i] == 0){
if(beginIndex != -1){
maxNum = max(maxNum, i - beginIndex);
}
beginIndex = -1;
}
}
return maxNum;
}
};
评论