侧边栏壁纸
博主头像
Hope博主等级

努力赚钱的工科研究生

  • 累计撰写 362 篇文章
  • 累计创建 129 个标签
  • 累计收到 5 条评论
标签搜索

LeetCode 1004. 最大连续1的个数 III

Hope
2022-09-19 / 0 评论 / 0 点赞 / 413 阅读 / 415 字
温馨提示:
本文最后更新于 2022-09-19,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

LeetCode 1004. 最大连续1的个数 III

思路:

滑动窗口,因为数组里面0的个数可能没有k多,所以统计一下数组里面0的个数。
思路类似
LeetCode 487. 最大连续1的个数 II

代码:


class Solution {
public:
    int longestOnes(vector<int>& nums, int k) {
        int cnt = 0, win = 0, ans = 0;
        int zerosum = 0;
        for(int i = 0, j = 0 ; i < nums.size(); i++){
            if(nums[i] == 0) cnt++,zerosum++;
            if(nums[i]) win++;
            while(cnt > k){
                if(nums[j++] == 0) cnt--;
                else win--;
            }
            ans = max(ans, win);
        }
        if(cnt) {
            if(zerosum < k) return zerosum + ans;
            return k + ans;
        }
        return ans;
    }
};  
0

评论区