LeetCode刷题实战487:最大连续1的个数 II
Given a binary array, find the maximum number of consecutive 1s in this array if you can flip at most one 0.
示例
输入:[1,0,1,1,0]
输出:4
解释:翻转第一个 0 可以得到最长的连续 1。
当翻转以后,最大连续 1 的个数为 4。
解题
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int res = 0, cur = 0, cnt = 0;
for (int num : nums) {
++cnt;
if (num == 0) {
cur = cnt;
cnt = 0;
}
res = max(res, cnt + cur);
}
return res;
}
};
评论