【数据结构练习题】删除有序数组中的重复项

图片来源于网络

✨博客主页:小钱编程成长记
🎈博客专栏:数据结构练习题
🎈相关博文:消失的数字 — 三种解法超详解

删除有序数组中的重复项

  • 1.🎈题目
  • 2. 🎈解题思路
  • 3. 🎈具体代码
  • 🎇总结

1.🎈题目

在这里插入图片描述
在这里插入图片描述
力扣链接

2. 🎈解题思路

1.非严格递增的数组:两个相邻元素相等或递增的数组
2. 因为要在原地删除重复的元素,所以不能再创建数组,以数组为跳板解决为题。
3. 我们可以用类似双指针的方法,创建两个下标src和dest,通过前后元素的对比,若不同,则将dest位置上的元素覆盖掉src后一个的重复的元素,++dest;相同时,++dest
4. 举例,如图:

》src 和 dest上的元素相同,++dest
在这里插入图片描述

》不同时将dest位置上的元素覆盖掉src后一个的重复的元素,++dest
在这里插入图片描述

在这里插入图片描述
》相同时,++dest

在这里插入图片描述》不同时将dest位置上的元素覆盖掉src后一个的重复的元素,++dest

在这里插入图片描述

3. 🎈具体代码

int removeDuplicates(int* nums, int numsSize){int dest = 1;//下标int src = 0;while (dest < numsSize) // 因为 MAX_dest + 1 == numsSize{if (nums[src] != nums[dest]){// ++src;// nums[src] = nums[dest];// ++dest;nums[++src] = nums[dest++];}else{++dest;}}return src + 1;}

🎇总结

本篇文章我们解决了力扣上删除有序数组中的重复项这道题,感谢大家的阅读!大家一起进步!

点赞收藏加关注,C语言学习不迷路!
图片来源于网络

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

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

相关文章

【机器学习】决策树与分类案例分析

决策树与分类案例分析 文章目录 决策树与分类案例分析1. 认识决策树2. 分类3. 决策树的划分依据4. 决策树API5. 案例&#xff1a;鸢尾花分类6. 决策树可视化7. 总结 1. 认识决策树 决策树思想的来源非常朴素&#xff0c;程序设计中的条件分支结构就是if-else结构&#xff0c;最…

Python求n位的自幂数

一个n位自然数等于自身各个数位上数字的n次幂之和&#xff0c;则称此数为自幂数。 方法1 n int(input(请输入位数:)) for num in range(10**(n-1), 10**n):if sum(map(lambda i: int(i)**n, str(num))) num:print(num)方法2 n int(input(请输入位数:)) result filter(la…

手写IOC

本篇博客我们来手写一个IOC&#xff0c;就是模拟出IOC里边的实现过程。这过程怎么做呢&#xff1f; 咱们主要基于java中的反射&#xff0c;再加注解&#xff0c;来实现spring框架中IOC的这个效果。 下面我们来具体看看这个过程。首先因为这里边要用到反射&#xff0c;咱们把反…

实在没货,简历(软件测试)咋写?

简历咋写&#xff0c;这是很多没有【软件测试实际工作经验】的同学们非常头疼的事情。 简历咋写&#xff1f;首先你要知道简历的作用。 简历的作用是啥呢&#xff1f;一句话就是&#xff1a;让HR小姐姐约你。 如何让HR看你一眼&#xff0c;便相中你的简历&#xff0c;实现在众…

ubuntu扩大运行内存, 防止编译卡死

首先查看交换分区大小 grep SwapTotal /proc/meminfo 1、关闭交换空间 sudo swapoff -a 2、扩充交换空间大小&#xff0c;count64就是64G 1G x 64 sudo dd if/dev/zero of/swapfile bs1G count64 3、设置权限 sudo chmod 600 /swapfile 4、指定交换空间对应的设备文件 …

Golang WebSocket 创建单独会话

引言 在互联网应用程序中&#xff0c;实时通信是一种非常重要的功能。WebSocket 是一种基于 TCP 的协议&#xff0c;它允许客户端和服务器之间进行双向通信。Golang 是一种高性能的编程语言&#xff0c;它提供了对 WebSocket 的原生支持&#xff0c;使得在 Golang 中创建 WebS…

ROS自学笔记十九:URDF集成Gazebo

URDF (Unified Robot Description Format) 是一个用于描述机器人模型的 XML 文件格式&#xff0c;通常用于机器人仿真和控制应用中。Gazebo 是一个开源的机器人仿真工具&#xff0c;常用于测试和开发机器人控制算法。你可以将 URDF 模型集成到 Gazebo 中&#xff0c;以在仿真环…

【不用开发板学习STM32】可设置电子时钟

• 实验环境 工程文件下载链接&#xff01;https://mp.weixin.qq.com/s?__bizMzU2OTc4ODA4OA&mid2247551559&idx1&sn721b9238bc58936ac41e6ad1b9988554&chksmfcfb1990cb8c9086490b11c05bc76c08da15c71caa38715a047c49d36f25a149920aee482f3e&token204641…

C++配平化学方程式,附源码。配平化学方程式的C++代码实现

化学方程式是化学反应简明的表达形式&#xff0c;它从“质”和“量”两个方面表达了化学反应的意义。故化学方程式的书写是我们学习化学的过程中不可或缺的一个重要环节。当我们遇到简单的化学方程式例如&#xff1a;2H2 O2 2H2O 时&#xff0c;配平则是毫无压力&#xff0c;…

软件测试---等价类划分(功能测试)

能对穷举场景设计测试点-----等价类划分 等价类划分 说明&#xff1a;在所有测试数据中&#xff0c;具有某种共同特征的数据集合进行划分分类&#xff1a; 1&#xff09;有效等价类 2&#xff09;无效等价类步骤&#xff1a;1&#xff09;明确需求 2&#xff09;确定有效和无…

C语言实现输入一个字符串,递归将其逆序输出

完整代码&#xff1a; // 输入一个字符串&#xff0c;递归将其逆序输出。如输入 LIGHT&#xff0c;则输出 THGIL #include<stdio.h> #include<stdlib.h> //字符串的最大长度 #define N 20//逆序输出字符串 void func(char *str){if (*str\0){//结尾时直接退出递归…

基于MATLAB的电流、电压互感器特性的仿真分析

摘 要 电压互感器和电流互感器是电力系统中进行电能计量和继电保护的基本测量和继电保护等设备之一&#xff0c;其准确度及可靠性与电力系统的安全、可靠、经济运行密切相关。随着电力系统在监测、控制及保护等方面自动化和智能化要求的不断提高&#xff0c;传统的电磁式电压互…

[EFI]asus strix b760-i 13900F电脑 Hackintosh 黑苹果efi引导文件

硬件型号驱动情况主板 asus strix b760-i 处理器 I9 13900F 已驱动内存crucial ddr5-5200 64gb(32gb*2)(overclock 5600)已驱动硬盘 WD black sn850 500g*2 已驱动显卡rx570已驱动声卡Realtek ALCS1220A已驱动网卡Intel I225-V 2.5 Gigabit Ethernet已驱动无线网卡蓝牙Fevi T91…

Babylonjs学习笔记(六)——贴图的使用

书接上回&#xff0c;这里讨论贴图的运用&#xff01;&#xff01;&#xff01; // 创建球网格const ball MeshBuilder.CreateSphere(ball,{diameter:1},scene)ball.position new Vector3(0,1,0)// 创建PRB材质const ballMat new PBRMaterial(pbr,scene)// albedoTexture 反…

SHCTF 山河CTF Reverse方向[Week1]全WP 详解

文章目录 [WEEK1]ez_asm[WEEK1]easy_re[WEEK1]seed[WEEK1]signin[WEEK1]easy_math[WEEK1]ez_apk [WEEK1]ez_asm 从上往下读&#xff0c;第一处是xor 1Eh&#xff0c;第二处是sub 0Ah&#xff1b;逆向一下先加0A后异或1E 写个EXP data "nhuo[M7mc7uhc$7midgbTf7$7%#ubf7 …

多线程---单例模式

文章目录 什么是单例模式&#xff1f;饿汉模式懒汉模式版本一&#xff1a;最简单的懒汉模式版本二&#xff1a;考虑懒汉模式存在的线程安全问题版本三&#xff1a;更完善的解决线程安全问题版本四&#xff1a;解决指令重排序问题 什么是单例模式&#xff1f; 单例模式&#xf…

Nginx快速部署SSL证书_2023年10月29日可用

一、目的 Nginx快速部署SSL证书--2023年10月29日可用二、环境 Centos/Ubuntu服务器 前端代码文件夹&#xff1a; 假设为&#xff1a;/root/demo文件夹 域名 假设为&#xff1a;demo.com SSL证书&#xff08;通过上一篇博客获取&#xff0c;获取其他方式获取到的SSL证书&…

modelsim仿真报错:vlog-2388 ‘scl‘ already declared in this scope

问题背景&#xff1a; 1、使用vivado直接仿真的时候没有报错。 2、在vivado中调用modelsim的时候报错。 报错的代码&#xff1a; module iic_write(input clk,input rst,output scl,input en,inout sda);reg scl&#xff1b;……报错的意思是scl已经声明过了&#xff0c;mode…

保姆级教学安装Linux操作系统,以及Linux的语法入门

&#x1f3c5;我是默&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;在这里&#xff0c;我要推荐给大家我的专栏《Linux》。&#x1f3af;&#x1f3af; &#x1f680;无论你是编程小白&#xff0c;还是有一定基础的程序员&#xff0c;这个专…

芯片设计中RTL级别总结

目录 一、简介二、详细介绍2.1 RTL级的基本要素和设计步骤2.2 书中推荐的设计步骤2.3 常用RTL级建模 三、其他相关链接芯片行业常用英文术语详细总结 一、简介 芯片设计级别简介 行为级&#xff08;Behavior Level&#xff09;&#xff1a;通过行为级算法描述数字系统。 寄存器…