双指针专题

news2025/1/13 3:02:58

前言(回顾一下):

Leetcode 283.移动零

思路:

        使用双指针,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部。右指针不断向右移动,每次右指针指向非零数,则将左右指针对应的数交换,同时左指针右移。

        注意到以下性质:

①左指针左边均为非零数;

②右指针左边直到左指针处均为零。

        因此每次交换,都是将左指针的零与右指针的非零数交换,且非零数的相对顺序并未改变。

class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        int i = 0, j = 0;
        for(; i < nums.size(); i ++){
            // 维护j的位置(指向小于i的&&nums[i] == 0的位置)
            while(j < i && nums[j])     j ++;
            swap(nums[i], nums[j]);
        }
    }
};

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

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

相关文章

C语言 -- 动态内存管理

C语言 -- 动态内存管理 1. 为什么要有动态内存分配2. malloc 和 free2.1 malloc2.2 free 3. calloc 和 realloc3.1 calloc3.2 realloc 4. 常见的动态内存的错误4.1 对NULL指针的解引用操作4.2 对动态开辟空间的越界访问4.3 对非动态开辟内存使用free释放4.4 使用free释放一块动…

嵌入式学习——C语言指针(一)

一、地址和指针的概念 地址&#xff1a;内存单元的编号。 指针&#xff1a;一个变量的首地址就叫做该变量的指针。 1、内存中存取数据的方式 1&#xff09;直接存取 直接用变量名存取变量所占内存单元的内容 例&#xff1a; int y,x 3; y 3*x2; 2&#…

【日记】今天又是哪朵小云不开心了呀(1886 字)

正文 上午上班没多久&#xff0c;天就特别阴&#xff0c;感觉像是要下暴雨的样子。前台接了一个电话&#xff0c;家里人打来的&#xff0c;她妈妈叮嘱她&#xff0c;要注意一点。他们那边已经开始下了。她转过头对我笑笑说&#xff0c;原来下雨在一个城里也能不同步。 当时我笑…

AttributeError: ‘NoneType‘ object has no attribute ‘shape‘

AttributeError: ‘NoneType‘ object has no attribute ‘shape‘ 目录 AttributeError: ‘NoneType‘ object has no attribute ‘shape‘ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰…

多家隧道代理价格:阿布云、快代理、小象代理、熊猫代理和亿牛云……

随着奥运的热度攀升&#xff0c;各大品牌也在抓紧时机赶上这波奥运热潮&#xff0c;随之而来的大量数据信息收集和分析工作也接踵而至&#xff0c;在这一数据采集过程中&#xff0c;HTTP代理的质量和价格对企业的效率和成本调控重要性不言而喻。我们大部分人在日常购买产品的时…

2235234234

作者主页&#xff1a; 作者主页 本篇博客专栏&#xff1a;C 创作时间 &#xff1a;2024年6月20日 最后&#xff1a; 十分感谢你可以耐着性子把它读完和我可以坚持写到这里&#xff0c;送几句话&#xff0c;对你&#xff0c;也对我&#xff1a; 1.一个冷知识&#xff1a; …

细说MCU的DAC1实现两个通道同时输出的方法

目录 一、参考硬件 二、 建立新工程 1.配置DAC 2.配置DMA 3.配置定时器 4.配置时钟和Debug 三、修改代码 1.初始化定时器和DAC 2.定义波形数据 3.波形数据的产生方法 四、查看结果 一、参考硬件 本项目依赖的软件和硬件工程参考本文作者写的文章&#xff1a; 细说MC…

手写RPC框架,与Spring整合,基于Netty作为网络框架,protobuf作为序列化协议。可以和实际项目相结合完美运行

注&#xff1a;由于RPC框架过于庞大所以本篇文章只是作为阅读RPC源码的一个指导&#xff0c;设计精巧之处还需要各位读者结合源码进行实践 RPC源码地址&#xff1a;https://github.com/xhpcd/rpc git clone: https://github.com/xhpcd/rpc.git 如果觉得有收获麻烦留下一颗st…

使用 Easysearch 打造企业内部知识问答系统

大家可能都有这样的经历&#xff0c;刚入职一家企业时&#xff0c;同事往往会给你分享一些文档资料&#xff0c;有可能是产品信息、规章制度等等。这些文档有的过于冗长&#xff0c;很难第一时间找到想要的内容。有的已经有了新版本&#xff0c;但员工使用的还是老版本。 基于…

centos7-8/redhat7-8一键安装配置vsftp服务

1.脚本介绍 1.1.介绍&#xff1a; linux下一键安装及配置vsftpd服务 &#xff0c;通过执行install.sh脚本&#xff0c;脚本会根据参数区域的值执行安装和配置vsftp服务&#xff0c;安装后会创建一个默认ftp用户wangxf密码wangxf2023 1、支持自定义安装(更改脚本内参数值) 2、…

javaweb_01:http

一、什么是http HTTP 是一个简单的请求-响应协议&#xff0c;它通常运行在TCP之上&#xff0c;它指定了客户端可能发送给服务器什么样的消息&#xff0c;以及得到什么样的响应。请求和响应都是以ASCll码的形式给出&#xff1b;而消息内容则具有一个类似MIME的格式。这个简单模…

面试Redis篇

本篇主要总结一下面试官可能会在Redis上询问的主要问题。 Redis的使用场景 问&#xff1a;你的项目中哪些场景中用到了Redis&#xff1f; 答&#xff1a;根据你的项目回答&#xff0c;一般会在一下几个部分缓存、分布式锁...... 缓存 缓存穿透 查询一个不存在的数据&#xff…

黑马点评--给店铺类型查询添加缓存

controller/ShopTypeController.java /*** 店铺分类查询&#xff0c;用于展示首页头部店铺分类* return*/GetMapping("list")public Result queryTypeList() {return typeService.queryList();} service/IShopTypeService.java Result queryList(); service/impl/S…

4234324

作者主页&#xff1a; 作者主页 本篇博客专栏&#xff1a;C 创作时间 &#xff1a;2024年6月20日 最后&#xff1a; 十分感谢你可以耐着性子把它读完和我可以坚持写到这里&#xff0c;送几句话&#xff0c;对你&#xff0c;也对我&#xff1a; 1.一个冷知识&#xff1a; …

alg-in-go-1:动态连通性问题

前言&#xff1a; 有本算法书叫&#xff1a;Algorithms 4th Edition.pdf&#xff0c;它是用java实现的&#xff0c;但是算法的内核是一样&#xff0c;不在乎于语言&#xff0c;考虑到java当今的…, 咱们尝试用golang学习算法. 问题&#xff1a; 思考&#x1f914;&#xff…

弹幕背后:B站UP主创作服务解析

引言 在B站&#xff0c;每一条飘过的弹幕都是一个故事的碎片&#xff0c;它们汇聚成一幅幅生动的社交画卷。这里&#xff0c;不仅仅是一个视频分享平台&#xff0c;弹幕背后更是一个充满活力的创作者生态系统。B站以其独特的弹幕文化&#xff0c;为创作者和观众之间搭建起了一座…

【电控笔记-xuan】各种估测器扰动估计性能比较

各种扰动观测器观测结果 蓝色: 扰动值 隆博戈估测器扰动补偿 论文53disturb扰动补偿 2order eso 观测

《系统架构设计师教程(第2版)》第13章-层次式架构设计理论与实践-01-层次式体系结构概述

文章目录 1. 常用层次是架构2. 层次式架构设计的注意点2.1 污水池反模式2.2 应用变得庞大 本章教材又赘述了一遍架构的定义和层次架构风格的概述&#xff0c;我之前的笔记都写了 架构的定义回看《第7章-系统架构设计基础知识-01-软件架构&#xff08;Software Architecture&…

AD的问题

连续放置同规则元件&#xff1a;先选择再按Tab编辑放置&#xff1b; 拖动元件&#xff1a;&#xff08;shift 空格 &#xff1a;旋转元件&#xff1b;原理图中按x水平&#xff0c;按y垂直翻转&#xff09;按ctrl键可以丝滑流畅放置 测试距离&#xff1a;RM 距离单位转…

初学Mybatis之动态 SQL

动态 SQL 是指根据不同的条件生成不同的 SQL 语句 动态 SQL 详情请看链接 搭建环境&#xff1a; mysql 建立博客表 CREATE TABLE blog(id VARCHAR(50) NOT NULL COMMENT 博客id,title VARCHAR(100) NOT NULL COMMENT 博客标题,author VARCHAR(30) NOT NULL COMMENT 博客作者…