机考刷题之 13 LeetCode 1004 最大连续1的个数 III

题目

分析

由于这个题目相当于是往0里去填1,所以我们在拓展窗口的时候应该尤其关注0的个数。

由于这个题目存在以下关系:

当numsleft,right的0的个数>k,那么numsleft,right+1、numsleft,right+2、....numsleft,end的0的个数都会>k。

当numsleft,right的0的个数<=k,其内部的子串的0个数都<=k

那么就满足之前提到的滑动窗口的做题条件:

代码

cpp 复制代码
class Solution {
public:
    int longestOnes(vector<int>& nums, int k) {
        int left = 0, zeroCount = 0, maxLen = 0;
        
        for (int right = 0; right < nums.size(); right++) {
            // 扩展右边界
            if (nums[right] == 0) {
                zeroCount++;
            }
            
            // 收缩左边界,直到窗口内 0 的数量 <= k
            while (zeroCount > k) {
                if (nums[left] == 0) {
                    zeroCount--;
                }
                left++;
            }
            
            // 更新最大长度(此时窗口 [left, right] 是合法的)
            maxLen = max(maxLen, right - left + 1);
        }
        
        return maxLen;
    }
};

结果

相关推荐
小席是个热心肠32 分钟前
AI相关的自我学习
java·人工智能·学习
fqq340 分钟前
力扣刷题前置Java语法
算法·leetcode·职场和发展
数智化管理手记3 小时前
海量数据如何沉淀有效数据资产?数据标准化治理方案如何搭建?
java·大数据·人工智能
半夏微凉半夏殇3 小时前
x11与weston对比,优先选哪个
leetcode·均值算法·eclipse
2501_906565123 小时前
数学之美探究
算法
oier_Asad.Chen3 小时前
【洛谷题解/AcWing题解/OI学习笔记】洛谷P2868【USACO07DEC】Sightseeing Cows G(01分数规划求最大比率)
算法·图论·spfa·二分·负环
cfm_29143 小时前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
鲸采云SRM采购管理系统4 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
leisoo80975 小时前
财报数据怎么排雷本地化Python构建财务异常预警系统
人工智能·python·算法
0x535 小时前
Java网络编程(二)
java·服务器·网络