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

【OJ刷题】同向双指针问题3

这里是阿川的博客,祝您变得更强

✨ 个人主页:在线OJ的阿川
💖文章专栏:OJ刷题入门到进阶
🌏代码仓库:


写在开头

现在您看到的是我的结论或想法但在这背后凝结了大量的思考、经验和讨论


在这里插入图片描述

在这里插入图片描述

目录

  • 1. 题目介绍
  • 2. 题目拆解
  • 3. 具体详情
  • 4. 具体代码


1. 题目介绍

难度:中
题目练习:最大连续1的个数 III
题目信息:给定一个二进制数组 nums 和一个整数 k,假设最多可以翻转 k 个 0 ,则返回执行操作后 数组中连续 1 的最大个数 。
举个例子: 具体如图1所示
在这里插入图片描述

图1 举个例子

2. 题目拆解

本质上:观察规律,利用滑动窗口
特点是:同向双指针,不存在回退
解决方法:同向双指针算法,如图2所示
在这里插入图片描述

图2 同向双指针

3. 具体详情

1. 利用双指针构建滑动窗口
2. 循环加零计数器进行判断及出窗口
3. max更新结果


4. 具体代码

class Solution {
public:
    int longestOnes(vector<int>& nums, int k) {
        int len = 0;
        for(int left = 0, right = 0, n = nums.size(), zero = 0; right < n; right++) //双指针滑动窗口以及零计数器
        {
            if(0 == nums[right]) zero++; //添加零计数
            while(zero > k) //利用零计数器加循环来判断及出窗口
            {
                if(0 == nums[left++]) zero--;
            }
            len = max(len, right - left + 1); //利用max更新结果
        }
        return len;
    }

5. 夹带私货

若你能看到看到这篇文章且能看到这,则说明你我有缘留个关注吧,后面还会接着计算机408、底层原理、开源项目、以及数据、后端研发相关、实习、笔试/面试、秋招/春招、各种竞赛相关、简历相关、考研、学术相关……,祝你我变得更强


原文地址:https://blog.csdn.net/2301_81874719/article/details/145145458
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/503688.html

相关文章:

  • Github 2025-01-20 开源项目周报 Top15
  • 65,【5】buuctf web [SUCTF 2019]Upload Labs 2
  • 二十七、资源限制-LimitRange
  • C 语言雏启:擘画代码乾坤,谛观编程奥宇之初瞰
  • 当设置dialog中有el-table时,并设置el-table区域的滚动,看到el-table中多了一条横线
  • 2025 最新flutter面试总结
  • 【机器学习】P1 机器学习绪论
  • vite之---为什么选vite
  • seleniun 自动化程序,python编程 我监控 chrome debug数据后 ,怎么获取控制台的信息呢
  • 使用Docker模拟PX4固件的无人机用于辅助地面站开发
  • MCP Server开发的入门教程(python和pip)
  • 服务器宕机原因?该怎么处理?
  • AOSP 14及以上userdebug无法调试的问题
  • wireshark开启对https密文抓包
  • c语言注意事项(不断完善版)
  • 大师课程:专业角色AE+AI动画动态设计关键帧学院视频课程 Key Frame Academy – Character Animation Launchpad
  • Java全栈项目-学生创新创业项目管理系统
  • 通过外部链接启动 Flutter App(详细介绍及示例)
  • 3D目标检测数据集——Nusence数据集
  • Linux:Makefile 以及实现第一个程序:进度条
  • 梁雨茜:用镜头架起文化桥梁,定格跨界艺术之美
  • ASP.NET Core 中的高效后台任务管理
  • 【区间DP】【hard】力扣1312. 让字符串成为回文串的最少插入次数
  • dp--校训
  • Python 扫描枪读取发票数据导入Excel
  • 教育邮箱的魔力:免费获取Adobe和JetBrains软件