题目
给定一个二进制数组, 计算其中最大连续1的个数。
示例 1:
输入: [1,1,0,1,1,1]
输出: 3
解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.
注意:
输入的数组只包含 0 和1。
输入数组的长度是正整数,且不超过 10,000。
C++解法
#include <iostream>
#include <vector>
#include <map>
#include <set>
using namespace std;
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int count = 0;
int max = 0;
nums.push_back(0);
for (auto item: nums) {
if (item) ++count;
else {
if (count > max) max = count;
count = 0;
}
}
return max;
}
};
int main(int argc, const char * argv[]) {
// insert code here...
Solution solution;
vector<int> vec {1,0,1,1,0,1};
cout << solution.findMaxConsecutiveOnes(vec) << endl;
return 0;
}
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/max-consecutive-ones
网友评论