(C++)最大连续1的个数--滑动窗口

个人主页:Lei宝啊 

愿所有美好如期而遇


力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。icon-default.png?t=N7T8https://leetcode.cn/problems/max-consecutive-ones-iii/

算法原理 

滑动窗口其实就是种双指针,只是这种双指针只向后移动,不会回退,具有单调性,也就是说,整个过程中left和right只会++。

本题去反转0,反转个数为k,也就是说,可以往后遍历,为0,记录一次,没超过k,继续向后走,超过k,则使左边向右走过一个0,右边继续向后走,我们画图来看。

图示

 

以此类推,下面不再继续画。

代码

class Solution {
public:int longestOnes(vector<int>& nums, int k) {int count = 0 , len = 0;for(int left = 0, right = 0; right < nums.size(); right++){if(nums[right] == 0){count++;while(count > k)if(nums[left++] == 0){count--;}             }   len = max(len, right-left+1);  }return len;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/217583.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MIT18.06线性代数 笔记2

文章目录 正交向量与子空间子空间投影投影矩阵和最小二乘正交矩阵和Gram-Schmidt正交化行列式及其性质行列式公式和代数余子式克拉默法则、逆矩阵、体积特征值和特征向量对角化和A的幂微分方程和exp(At)马尔科夫矩阵 傅里叶级数复习二 正交向量与子空间 向量正交&#xff1a;x…

[RK-Linux] 移植Linux-5.10到RK3399(五)| 检查PCIe并识别M.2 NVMe SSD

ROC-RK3399-PC Pro 引出了 PCIe 座子,用于装载 M.2 NGFF M-Key 接口的 SSD。 文章目录 一、PCIe二、NVMe三、调试一、PCIe PCIe(Peripheral Component Interconnect Express)是一种高速串行总线接口,用于连接计算机系统中的各种外部设备。它是传统PCI总线的进化版本,提供…

《系统架构设计师教程(第2版)》第2章-计算机系统基础知识-05-多媒体

文章目录 1. 概述1.2 多媒体的特征1.3 基本组成1.4 多媒体技术应用2. 关键技术2.1 视音频技术1)视音频编码2)视音频压缩方法2.2 通信技术2.3 数据压缩技术2.4 虚拟现实 (VR)/增强现实 (AR) 技术1) VR技术2) AR技术3)分类4)需要提高的关键技术1. 概述 媒体 (Media) :是承…

【初阶C++】前言

C前言 1. 什么是C2. C发展史3. C的重要性4. 如何学习C 1. 什么是C C语言是结构化和模块化的语言&#xff0c;适合处理较小规模的程序。对于复杂的问题&#xff0c;规模较大的程序&#xff0c;需要高度的抽象和建模时&#xff0c;C语言则不合适。为了解决软件危机&#xff0c; …

【MODBUS】libmodbus库写一个Modbus TCP客户端

libmodbus 是一个用于 Modbus 通信协议的 C 语言库&#xff0c;可以用来创建 Modbus TCP 客户端。以下是一个简单的示例代码&#xff0c;演示如何使用 libmodbus 创建一个 Modbus TCP 客户端。 首先&#xff0c;确保你已经安装了 libmodbus 库。你可以从 libmodbus 的官方网站…

【Linux系统编程二十一】:(进程通信3)--消息队列/信号量(system v标准的内核数据结构的设计模式)

【Linux系统编程二十】&#xff1a;消息队列/信号量(system v标准的内核数据结构的设计模式&#xff09; 一.消息队列二.system v标准的内核数据结构的设计三.四个概念(互斥/临界)四.信号量1.多线程并发访问2.计数器3.原子的4.总结 一.消息队列 一个叫做a进程啊&#xff0c;一个…

点云从入门到精通技术详解100篇-车载激光雷达路面检测

目录 前言 国内外研究现状 车载激光雷达系统研究现状 道路检测研究现状

实现CompletableFuture的返回数据,放入每个list中

为啥使用CompletableFuture 有时候我们后端接口&#xff0c;可能会有多个查询&#xff0c;而且这些查询是互不关联的&#xff0c;使用串行的方式&#xff0c;在数据量不大的时候&#xff0c;时间没什么影响&#xff0c;但是在数据量大的时候&#xff0c;使用CompletableFuture…

如何将LLMs封装成应用并在本地运行

最近我一直在致力于Ollama的工作&#xff0c;因此我花了很多时间思考如何在本地系统上运行大型语言模型&#xff08;LLMs&#xff09;以及如何将它们打包成应用程序。对于使用LLMs的大多数桌面应用程序而言&#xff0c;通常的体验要么是插入OpenAI API密钥&#xff0c;要么是从…

protobuf基础学习

部分内容出自&#xff1a;https://blog.csdn.net/baidu_32237719/article/details/99723353 proto文件来预先定义的消息格式。数据包是按照proto文件所定义的消息格式完成二进制码流的编码和解码。proto文件&#xff0c;简单地说&#xff0c;就是一个消息的协议文件&#xff0c…

Git常用命令大全

1.强制推送&#xff08;慎用&#xff0c;除非你认为其他冲突等可以丢弃 或者不是很重要&#xff09; git push -- force2.创建文件等小命令 touch a // 创建一个a文件 echo 1234 >> a // 把1234这个内容放入a文件 cat a // 打开a文件 读取出a文件中的内容 mkdir test /…

MAC IDEA Maven Springboot

在mac中&#xff0c;使用idea进行maven项目构建 环境配置如何运行maven项目1.直接在IDEA中运行2.使用jar打包后执行 如何搭建spring boot1.添加依赖2.创建入口类3.创建控制器4. 运行5.其他 环境配置 官网安装IDEA使用IDEA的创建新项目选择创建MAEVEN项目测试IDEA的MAVEN路径是…

(第64天)UNPLIUG/PLUG 迁移 PDB

在 Oracle 12C 之前,迁移数据库的方式大多通过 RMAN 或者数据泵的方式,但是在 12C 版本提出 CDB/PDB 架构后,对数据库进行了整合,只需要针对 PDB 进行迁移即可,本文介绍通过 UNPLUG/PLUG 的方式来迁移数据库。 环境信息 测试环境信息: 角色主机名IP地址数据库版本实例名…

【二分查找】【双指针】LeetCode:2565最少得分子序列

作者推荐 【动态规划】【广度优先】LeetCode2258:逃离火灾 本文涉及的基础知识点 二分查找算法合集 有序向量的二分查找&#xff0c;初始化完成后&#xff0c;向量不会修改。 双指针&#xff1a; 用于计算子字符串是s的字符串的子系列。 题目 给你两个字符串 s 和 t 。 你…

《地理信息系统原理》笔记/期末复习资料(10. 空间数据挖掘与空间决策支持系统)

目录 10. 空间数据挖掘与空间决策支持系统 10.1. 空间数据挖掘 10.1.1. 空间数据挖掘的概念 10.1.2. 空间数据挖掘的方法与过程 10.1.3. 空间数据挖掘的应用 10.2. 空间决策支持系统 10.2.1. 空间决策支持系统的概念 10.2.2. 空间决策支持系统的结构 10.2.3. 空间决策…

Java网络编程,使用UDP实现TCP(二), 实现数据传输过程

简介&#xff1a; 经过了三次握手过程&#xff0c;我们的服务端和客户端已经建立了连接。我们接下来需要做的就是数据的传输。 主要步骤&#xff1a; 数据发送&#xff1a;客户端或服务器将数据打包成一个或多个数据段&#xff0c;每个数据段都有一个序列号&#xff08;SEQ&a…

mybatis xml 热部署

平时我们在项目中多多少少会根据不同的情况等等原因去调试sql&#xff0c;在数据库测试完后也需要在代码里面运行测试&#xff0c;但是每次修改就需要重启服务就显得太繁琐&#xff0c;所以如果mybatis的xml也可以热部署当然是最好的了&#xff0c;那我来试试如何可以将mybatis…

pytorch-0.4.0上古版本安装参考

由于pytorch previous-versions中已经不显示该版本&#xff0c;而且网络上信息很少&#xff0c;配环境给我配麻了&#xff0c;所以提供一个参考。 我的配置&#xff1a; cuda 9.0 gcc 4.8.5 安装过程&#xff1a; conda create -n torch040 python3.6.6 conda install pytorc…

C++ 学习系列 -- conversion function

一 什么是转换函数&#xff1f; 在 c 编码中&#xff0c;我们可能遇到要将类 A 转为 类 B 的情况&#xff0c;此时就可以定义类 A 的转换函数将其按照一定规则转换为 类 B&#xff1b; 转换函数声明规则如下&#xff1a; operator 转换类型() const; 转换函数无返回值&#x…

基于chaos混沌的彩色图像加解密系统matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 混沌理论简介 4.2 基于混沌的图像加密原理 4.3 数学公式与实现过程 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 .................…