给定一个二进制数组 nums
, 计算其中最大连续 1
的个数。
思路:单指针遍历,遇到非0置空
#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int fast = 0, cnt = 0, res = 0;
while (fast < nums.size()){
if (nums[fast] == 1){
cnt++;
res = max(res, cnt);
}
else{
cnt = 0;
}
fast++;
}
return res;
}
};
int main(){
Solution s;
vector<int> nums = {1,0,1,1,0,1};
cout << s.findMaxConsecutiveOnes(nums) << endl; // 输出3
}