当前位置: 首页 > news >正文

专题二最大连续1的个数|||

1.题目

题目分析:

给一个数字k,可以把数组里的0改成1,但是只能改k次,然后该变得到的数组能找到最长的子串且都是1。

2.算法原理

这里不用真的把0变成1,因为改了比较麻烦,下次用就要改回成1,这里用滑动窗口来,先进窗口,遇到1就无视,遇到0就进窗口,虽然1和0都在一个窗口中在画图里,但是要把1看出空气,理会0的个数,然后更k比较,满了就开始出窗口了,要排除0直到窗口内的0个数小于k。for循环来移动right,遇到1是无视,就走for循环来,遇到0就特殊处理,每次循环都更新长度值。

3.代码实现

class Solution {
public:
    int longestOnes(vector<int>& nums, int k) {
        int n=nums.size();
        int len=0;
        for(int left=0,right=0,zero=0;right<n;right++)
        {
            //等于1不用管,for循环会自动right++
            if(nums[right]==0) zero++;

            while(zero>k)
            {
                if(nums[left++]==0) zero--;
                
            }
            len=max(len,right-left+1);

        }
        return len;
    
    
    }
};

http://www.dtcms.com/a/49972.html

相关文章:

  • 嵌入式Linux堆栈管理深度解析:从原理到实践
  • 【零基础到精通Java合集】第十八集:多线程与并发编程-线程池与Callable/Future应用
  • centos搭建 Node.js 开发环境
  • 金蝶云星空对接纷享销客与泛微审批:构建高效的企业数字化流程
  • deepseek本地部署:deepseek-r1-distill-llama-70b应用实践
  • Linux云计算SRE-第十七周
  • 人工智能之数学基础:线性代数中的行列式的介绍
  • 迷你世界脚本小地图接口:Mapmark
  • HSPF 水文模型建模方法与案例分析实践技术应用
  • 维度建模基础篇:从理论到核心组件解析
  • Mybatis plus异常: type `java.time.LocalDateTime` not supported by default
  • 【Godot4.4】模拟类似网页的布局
  • DEV-C++ 为什么不能调试?(正确解决方案)
  • 现代优雅品牌包装徽标设计衬线英文字体安装包 Halone Modern Serif Typeface
  • 爬蟲動態IP代理與數據採集穩定性
  • 如何在 NocoBase 中实现 CRM 的线索转化
  • Linux : 环境变量
  • 汇票,银票,纸票,本票,支票,商票的关系和分类?
  • 基于编程语言的建筑行业施工图设计系统开发可行性研究————从参数化建模到全流程自动化的技术路径分析
  • 机器学习笔记:初识图神经网络
  • 测试工程师的DeepSeek提效3:质保中的应用
  • AI数字人口播源码开发全解析
  • servlet tomcat
  • C++发展
  • 力扣刷题——4.寻找两个正序数组的中位数
  • Linux基础开发工具—软件安装器yum。人类世界软件安装器一夜消失,而我却会用yum
  • CentOS 7中安装Dify
  • axios启动!
  • 【技海登峰】Kafka漫谈系列(四)基于Kraft模式实现Kafka集群部署与配置
  • LLM 大模型基础认知篇