每日一题——删除有序数组中的重复项

news2024/9/22 1:44:11

删除有序数组中的重复项

题目链接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IMeFYytK-1690597279344)(C:\Users\HUASHUO\AppData\Roaming\Typora\typora-user-images\image-20230729095119341.png)]


注:本题所采用的方法是建立在移除元素的基础之上的,如果大家对双指针的方法不大了解,或者不会做《移除元素》这一题,建议先去看看👉传送门

具体步骤

  • 定义两个指针slowfastslow指向数组的第一个元素,fast指向数组的第二个元素
  • fast开始向后遍历数组,如果其值等于slow所指向的元素,那么则说明出现重复元素,fast继续向后移动
  • 如果fast所指向的元素不等于slow的,那么进行操作[++slow] = [fast++],即先让slow向后移动一位再进行赋值操作,接着fast继续后移
  • 直到fast遍历完整个数组

如图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E3eVhND0-1690597279345)(C:/Users/HUASHUO/AppData/Roaming/Typora/typora-user-images/image-20230729101738802.png)]


实现代码

int removeDuplicates(int* nums, int numsSize){
    int slow = 0;
    int fast = 1;
    while(fast < numsSize)
    {
        //相等就不赋值,fast继续遍历
        if(nums[fast] == nums[slow])
            fast++;

        //不相等就赋值
        else
            nums[++slow] = nums[fast++];
    }
    //返回新数组大小
    return slow + 1;
}

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

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

相关文章

计算并展示指定文件夹的大小

背景需求 有时候电脑里磁盘空间越来越小&#xff0c;不得不删除一些占空间大的文件。最笨的方法就是对某一个文件夹下一个一个查看大小&#xff0c;效率太慢。 效果图 Code import os import matplotlib.pyplot as plt plt.rcParams[font.family] sans-serif # 设置字体为…

Jenkins pipeline 脚本语言学习支持

1 引言 Groovy是用于Java虚拟机的一种敏捷的动态语言&#xff0c;它是一种成熟的面向对象编程语言&#xff0c;既可以用于面向对象编程&#xff0c;又可以用作纯粹的脚本语言。 使用该种语言不必编写过多的代码&#xff0c;同时又具有闭包和动态语言中的其他特性。 Groovy是一…

大模型开发(十四):使用OpenAI Chat模型 + Google API实现一个智能收发邮件的AI应用程序

全文共1.2w余字&#xff0c;预计阅读时间约24~40分钟 | 满满干货(附代码)&#xff0c;建议收藏&#xff01; 本文目标&#xff1a;将Gmail API接入Chat模型&#xff0c;编写一个智能收发邮件的AI应用程序 代码下载点这里 一、背景 大模型应用开发从谷歌云入手进行学习和AI…

Python爬虫的urlib的学习(学习于b站尚硅谷)

目录 一、页面结构的介绍  1.学习目标  2.为什么要了解页面&#xff08;html&#xff09;  3. html中的标签&#xff08;仅介绍了含表格、无序列表、有序列表、超链接&#xff09;  4.本节的演示 二、Urllib  1.什么是互联网爬虫&#xff1f;  2.爬虫核心  3.爬虫…

Sentinel 容灾中心的使用

Sentinel 容灾中心的使用 往期文章 Nacos环境搭建Nacos注册中心的使用Nacos配置中心的使用 熔断/限流结果 Jar 生产者 spring-cloud-alibaba&#xff1a;2021.0.4.0 spring-boot&#xff1a;2.6.8 spring-cloud-loadbalancer&#xff1a;3.1.3 sentinel&#xff1a;2021.0…

如何快速模拟一个后端 API

第一步&#xff1a;创建一个文件夹&#xff0c;用来存储你的数据 数据&#xff1a; {"todos": [{ "id": 1, "text": "学习html44", "done": false },{ "id": 2, "text": "学习css", "…

只会“点点点”,凭什么让开发看的起你?

众所周知&#xff0c;如今无论是大厂还是中小厂&#xff0c;自动化测试基本是标配了&#xff0c;毕竟像双 11、618 这种活动中庞大繁杂的系统&#xff0c;以及多端发布、多版本、机型发布等需求&#xff0c;但只会“写一些自动化脚本”很难胜任。这一点在招聘要求中就能看出来。…

Android 面试题 优化 (一)

&#x1f525; Android性能优化指标 &#x1f525; ​ &#x1f525; 包体积优化 &#x1f525; 安装包的大小会影响用户的安装率&#xff0c;如果一个包的太大&#xff0c;用户安装的意愿会大大降低。 经过包分析可以看到&#xff0c;安装包最大的部分是资源和第三方库&#…

奥迪A3:最新款奥迪A3内饰设计及智能科技应用

奥迪A3一直以来都是奥迪的入门级车型&#xff0c;但这并不意味着它在科技和内饰方面会有所退步。最新款奥迪A3的内饰设计和智能科技应用让人们再次惊叹奥迪的创新能力。 内饰设计 奥迪A3最新款的内饰设计引入了奥迪最新的设计元素&#xff0c;比如8.8英寸的中控显示屏&#xf…

山西电力市场日前价格预测【2023-07-30】

日前价格预测 预测明日&#xff08;2023-07-30&#xff09;山西电力市场全天平均日前电价为287.10元/MWh。其中&#xff0c;最高日前电价为309.20元/MWh&#xff0c;预计出现在09: 15。最低日前电价为252.82元/MWh&#xff0c;预计出现在24: 00。 价差方向预测 1&#xff1a;实…

Dendrogram | 今天是人见人爱、花见花开的环形Dendrogram!~(附完整代码)

1写在前面 好长时间没更新了&#xff0c;这周真的是天天都在手术室度过&#xff0c;常讲到的一句话就是苦的一比啊。&#x1fae0; 很久没有见过外面的世界了&#xff0c;世界那么大&#xff0c;我也想去看看&#xff01;~&#x1f602; 废话太多了&#xff0c;今天的教程是环形…

网络安全/信息安全(黑客技术)自学笔记

一、网络安全基础知识 1.计算机基础知识 了解了计算机的硬件、软件、操作系统和网络结构等基础知识&#xff0c;可以帮助您更好地理解网络安全的概念和技术。 2.网络基础知识 了解了网络的结构、协议、服务和安全问题&#xff0c;可以帮助您更好地解决网络安全的原理和技术…

从分片传输到并行传输之大文件传输加速技术

随着大文件的传输需求越来越多&#xff0c;传输过程中也会遇到很多困难&#xff0c;比如传输速度慢、文件安全性低等。为了克服这些困难&#xff0c;探讨各种大文件传输加速技术。其中&#xff0c;分片传输和并行传输是两种比较常见的技术&#xff0c;下面将对它们进行详细说明…

WEB:Web_python_template_injection

背景知识 python模板注入 ssit 题目 打开题目&#xff0c;发现页面提示&#xff0c;翻译为python模板注入 先测试是否存在注入 可以发现被执行了 先查看所有的子类 payload {{[].__class__.__base__.__subclasses__()}} 利用site.Printer的os模块执行命令 payload {{.__…

CAN转EtherNet/IP网关can协议破解服务

JM-EIP-CAN 是自主研发的一款 ETHERNET/IP 从站功能的通讯网关。该产品主要功能是将各种 CAN 总线和 ETHERNET/IP 网络连接起来。 本网关连接到 ETHERNET/IP 总线中做为从站使用&#xff0c;连接到 CAN 总线中根据节点号进行读写。 技术参数 ETHERNET/IP 技术参数 网关做为 …

C# Socket实际应用案例与属性详解

引言 Socket是一个在网络编程中非常常见和重要的概念&#xff0c;它提供了一种通信机制&#xff0c;使不同的计算机之间可以进行数据传输。本文将介绍C#中Socket的实际应用案例&#xff0c;并对Socket的常用属性进行详细解析。 文章目录 1. Socket的实际应用案例2. Socket的属…

CAS比较并交换具体实现细节

线程2读取内存值到工作内存中&#xff0c;设置一个预估值与读入的值相等&#xff0c;线程1也同样读入。 线程2进行操作&#xff0c;之后在写入内存前&#xff0c;将预估值与内存值作比较&#xff0c;看内存值是否修改过。 如果线程2比较完相同&#xff0c;则修改内存值为1&am…

开源了!最强原创图解八股文面试网来袭

强烈推荐 Github上业内新晋的一匹黑马—Java图解八股文面试网—Java2Top.cn&#xff0c;图解 Java 大厂面试题&#xff0c;深入全面&#xff0c;真的强烈推荐~ 这是一个二本逆袭阿里的大佬根据自己秋招上岸所看过的相关专栏&#xff0c;面经&#xff0c;课程&#xff0c;结合自…

211. 添加与搜索单词 - 数据结构设计---------------字典树

211. 添加与搜索单词 - 数据结构设计 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a; 原题链接&#xff1a; 211. 添加与搜索单词 - 数据结构设计 https://leetcode.cn/problems/design-add-and-search-words-data-structure/descriptio…

tinkerCAD案例:19. Move Circuit Assembly 移动电路组件

tinkerCAD案例&#xff1a;19. Move Circuit Assembly 移动电路组件 In this tutorial, you’ll learn how to add the Move circuit assembly to a design. 在本教程中&#xff0c;您将学习如何将移动电路装配体添加到设计中。 When you assemble the Move circuit assembly…