数据结构 ——— 编写函数,删除有序数组中的重复项

目录

题目要求

代码实现 


题目要求

一个升序排列的数组 nums ,要求原地删除重复出现的元素,使每个元素只出现一次,并返回删除后数组的新长度,元素的相对顺序应该保持一致


代码实现

代码演示:

int removeDuplicates(int* nums, int numsSize)
{int slow = 1;for (int fast = 1; fast < numsSize; fast++){if (nums[fast] != nums[fast - 1]){nums[slow] = nums[fast];slow++;}}return slow;
}

代码解析:

使用快慢指针的概念完成代码逻辑,slow 和 fast 就相当于 nums 数组的下标,都从 1 开始执行,因为第一个元素不论是不是重复的都不需要改变

slow 指针的作用是:用来存储 nums 数组中只出现过一次的元素,且 for 循环执行完后,slow 的值就是新 nums 数组的长度

fast 指针的作用是:找 nums 数组中不同的元素,fast 是从 1 开始的,只要 nums[fast] 和 nums[fast-1] 不同时,那么 nums[fast] 就是那个不同的元素,直接赋值给 nums[slow] 即可

代码验证:

算法的时间复杂度:

for 循环执行了 N 次,且每次循环内部执行的是常数次,得出时间复杂度:

算法的时间复杂度(大O渐进表示法):O(N)

算法的空间复杂度:

没有开辟额外的空间,都是在 nums 原数组上操作的,得出空间复杂度:

算法的空间复杂度(大O渐进表示法):O(1)

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

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

相关文章

两步飞跃办公室,2024年常备远程控制神器,居家办公真轻松

现在科技发展得可快了&#xff0c;咱们的生活和工作都跟以前不一样了。2024 年&#xff0c;在家上班一点都不新鲜&#xff0c;好多人都这么干。在这个数字化的时代呀&#xff0c;有很多方便的工具出现。向日葵远程控制软件就是个好东西&#xff0c;能帮咱们高效地远程办公。想试…

探索 Midjourney 中文版:开启人工智能绘画新征程

Midjourney 中文版是专门为中国创作者精心打造的人工智能绘画神器。它打破了语言的壁垒&#xff0c;以熟悉的中文界面和指令输入方式&#xff0c;让每一个怀揣创意梦想的人都能轻松驾驭。无需再为复杂的英文指令而苦恼&#xff0c;在这里&#xff0c;你只需用中文表达心中的想象…

SOLIDWORKS 2025新版本揭秘 | 设计、协作和数据管理篇

除非另有说明&#xff0c;否则所有增强功能均适用于 3DEXPERIENCE SOLIDWORKS 和 SOLIDWORKS Cloud Services。 1&#xff5c;更髙效的协作和数据管理 直接从 SOLIDWORKS 访问社区&#xff0c;轻松与业界同行建立联系并开展协作。 利用实时通知时刻关注蕞新动态&#xff0c;…

【Mysql】Mysql常用图形管理工具

该图片是在Dos窗口中使用Mysql数据库管理系统。 1、简介 如果日常的开发和维护均在类似dos窗口中进行&#xff0c;对于编程者来书&#xff0c;上手就略微困难&#xff0c;增加了学习成本。我们一般使用MySQL图形管理工具来连接MySQL&#xff0c;然后在图形化界面上操作MySQL。…

电脑怎么安装打印机驱动_电脑安装打印机驱动多种方法

电脑怎么安装打印机驱动&#xff1f;许多人在购买新打印机或更换电脑时&#xff0c;常常会遇到安装打印机驱动的问题。正确安装打印机驱动程序不仅能确保打印机正常工作&#xff0c;还能提高打印效率&#xff0c;下面小编就教大家电脑安装打印机驱动多种方法。 电脑怎么安装打印…

三步教会你制作自己的Coze插件,不懂代码也玩得转 !

大家好&#xff0c;我是凡人。 是一个不黑、不吹、不跟风、有知识、有骨气的五好小号主。 最近有一位粉丝朋友和我抱怨&#xff0c;Coze商城里的插件用起来确实方便&#xff0c;但对于特殊情况想要做一些定向的数据获取却是比较麻烦&#xff0c;需要自己设计插件&#xff0c;…

证件照制作小程序源码

预览&#xff1a; 证件照制作小程序官方有推出对应的api接口&#xff0c;也有demo示例&#xff0c;大家有需要的可以直接拿 证件照规格列表 接口地址&#xff1a;https://api.zheyings.cn/item/list 请求方式&#xff1a;POST(application/x-www-form-urlencoded) 返回格式&…

千元护眼台灯测评:书客、明基、柏曼护眼台灯怎么样?

近年来&#xff0c;近视一直是全球范围内广泛存在的视力问题&#xff0c;特别是在中小学生群体中&#xff0c;佩戴眼镜的比例已经超过了50%。而青少年近视率不断攀升的原因之一是学习压力的增加&#xff0c;此外&#xff0c;不良的阅读姿势以及不适宜的照明条件等也是导致近视的…

一文读懂Ingress-Nginx以及实践攻略

一文读懂Ingress-Nginx以及实践攻略 目录 1 概念 1.1 什么是Ingress&#xff1f; 1.1.1 主要功能&#xff1a; 1.2 Ingress的组件1.3 什么是ingress-nginx1.4 ingress-nginx优点和限制1.5 版本兼容性矩阵 2 实践&#xff1a; Ingress nginx部署 2.1 使用helm部署ingress-ngin…

数字人直播违规原因究竟是什么?哪些技术可以解决?

随着人工智能时代的来临&#xff0c;以数字人直播为代表的技术应用逐渐被各大中小型企业引进&#xff0c;并成为了它们在直播板块降本增效的利器。不过&#xff0c;从目前的应用情况来看&#xff0c;不少企业都在使用数字人无人直播的过程中遭遇了违规封号的问题。在此背景下&a…

django开发流程3(轮播图)

1.在models中创建一个模板 class Ads(models.Model):title models.CharField(verbose_name"标题", max_length30)image models.ImageField(verbose_name"广告图", upload_to"ads")url models.URLField(verbose_name"链接网址", de…

10分钟制作一个简易的word模版

简易word模板制作。 简言 自用的一个word模版&#xff0c;平常套用其他格式的模板&#xff0c;常常将注意力转移到寻找word模版上&#xff0c;这里提供一个简易的word模版制作教程。 格式要求 &#xff08;1&#xff09;正文格式字体小四&#xff0c;中文宋体&#xff0c;西…

uniapp微信小程序,获取上一页面路由

在进入当前页面的时候&#xff0c;判断是不是从某个页面跳转过来的&#xff08;一般是当前页面为公共页面是出现的&#xff09;&#xff0c;比如 A-->B C-->B ,那么 要在 C跳转到B页面的时候多个提示语什么的 而在A跳转到B时不需要&#xff0c;那么就要判断 上一页面的…

【C++】STL标准模板库容器set

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Visual Studio 2022 目录 &#x1f4cc;关联式容器set(集合)简介 &#x1f4cc;set(集合)的使用 &#x1f38f;set(集合)的模板参数列表 &#x1f38f;set(集合)的构造函数 &#x1f38f;set(集合)的迭代…

s5pv210开发板刷机,分区,SD卡,emmc,nand,fastboot刷机命令,刷uboot,kernel,system(二)

一、x210开发板的启动机制 SD/inand启动步骤: 第一层启动从通道0&#xff0c;SD0(inand/emmc)启动, 当(inand/emmc)启动做校验和时失败才会转为启动通道2&#xff0c;SD2&#xff08;外接插入sd卡&#xff09;。而我们做裸机实验时是通过SD2来提供裸机程序镜像的&#xff0c;因…

SQL - 函数

1. 操作类函数 这一类函数针对数据结构&#xff0c;表格进行筛选操作 1.1 GROUP BY 根据某个单一列中属性或者多个列对结果集进行分组 SELECT column1, SUM(column2) FROM table GROUP BY column1; 上述代码将所选择列进行column1中的属性分组&#xff0c;作为每一行的索引…

“WanFangAi论文写作:智能论文助手,让研究更高效,论文写作技巧

点击查看本科毕业论文怎么搞&#xff01;【保姆级论文写作教程】 手把手教你从找文献到写作全流程 撰写论文是一个系统性的过程&#xff0c;需要一定的技巧和方法。即使没有经过正式的论文写作训练&#xff0c;大学生也可以通过以下步骤来学习如何写论文&#xff1a; ‌确定主题…

INTO:Web3世界的“价值引力场”

在Web3的宇宙中&#xff0c;一股强大的引力正在重塑整个数字世界的格局。这股引力&#xff0c;来自一个名为INTO的“超级连接器”。作为Web3社交领域的先锋&#xff0c;INTO正在用一种前所未有的方式重构整个产业链的价值体系。它不再满足于单一领域的创新&#xff0c;而是大胆…

u盘拷贝文件管控怎么设置?禁止往U盘拷贝文件的8种方法!(图文详解)

数字化时代&#xff0c;U盘作为便捷的数据存储与传输工具&#xff0c;其安全性不容忽视。 尤其在企业环境里&#xff0c;防止敏感数据通过U盘非法拷贝是保障信息安全的重要一环。 正所谓"小U盘大管控"&#xff0c;本文将详细介绍8种禁止往U盘拷贝文件的方法&#xf…

图片去除水印的简单方法,这6个图片去水印方法可以试试

在日常生活和工作中&#xff0c;我们常常需要从图片中去除水印&#xff0c;无论是为了保护隐私还是为了美化图像&#xff0c;去水印已经成为许多人必备的技能之一。然而&#xff0c;面对琳琅满目的去水印工具和方法&#xff0c;如何选择合适的解决方案可能让人感到困惑。在本文…