Java每日一题:26. 删除有序数组中的重复项

news/2024/11/8 14:54:10/

删除有序数组中的重复项

分析:
数组是有序的,因此重复的元素会相邻
每次取出两个数进行比较,因此,需要有两个变量去存储每次取出的值
采用双指针方法:
指针p和q, p=num1,q=num2
p和q进行比较:
a. p=q
则q后移继续比较
b. p!=q
则++p=q && p++&&q++
q=数组的长度则结束
return p+1(加上最后一个q),即为新数组长度

注意:
考虑到数组为空或者数组长度为的情况下我们无需进行比较,直接返回0即可!
在这里插入图片描述

代码:

在这里插入图片描述

补充:
++和++i的区别:
i++返回原来的值,然后再将i加1;而++i是先将i加1,然后再返回加1后的值。因此,i++不能作为左值,而++i可以。在for循环中,i++和++i的效果是一样的,但在while循环中,i++和++i的初始值和判断条件是不同的。需要注意的是,在Vue中更加需要注意i++和++i的使用。


http://www.ppmy.cn/news/1241442.html

相关文章

jQuery_04 jQuery选择器应用

jQuery中的选择器 1.基本选择器 1.1 id $("#id值") id名称 1.2 class $(".class值") class名称 1.3 标签选择器 $("标签名字") 标签名称 1.4 所有选择器 $("*") 所有标签 1.5 组合选择器 …

STK Components 二次开发-创建卫星

1.卫星数据 可以用stk 里面自带的 参数帮助文档。 也可以自己下载 CelesTrak: Current GP Element Sets 这里你所需要的最新卫星数据全有。 其实创建需要的就是卫星的二根数。 给定二根数也可以。 读取数据库中的卫星数据 这个接口优先下载最新的。 var tleList TwoL…

python之pycryptodome模块,加密算法库

一、简介 PyCryptodome是PyCrypto库的一个分支,它是Python中最受欢迎的密码学库之一。PyCryptodome提供了许多密码学算法和协议的实现,包括对称加密、非对称加密、消息摘要、密码哈希、数字签名等。它还提供了一些其他功能,如密码学安全随机…

Linux学习笔记之六(进程之间的管道通信和信号处理)

目录 1、管道通信1.1、无名管道1.1、有名管道 2、信号处理2.1、信号的种类和发送2.2、信号的接受和处理 1、管道通信 管道通信是一个设备中进程与进程之间通信的一种方式,分为无名管道和有名管道两种。前者只能用于有亲缘关系的进程之间的通信,如父子进…

ethernet II 的故事

以太帧有很多种类型。不同类型的帧具有不同的格式和MTU值。但在同种物理媒体上都可同时存在。 以太网第二版或者称之为Ethernet II 帧,DIX帧,是最常见的帧类型。并通常直接被IP协议使用。 格式 当数据帧到达网卡时,网卡要先去掉前导码&#…

React基础入门

文章目录 创建项目组件和事件更新状态导出组件jsx react是目前最流行的前端框架,几乎也不用太介绍了。 创建项目 首先下载node.js,安装成功后,最好换成国内的源 npm config set registry https://registry.npm.taobao.org然后就可以使用脚…

发布鸿蒙的第一个java应用

1.下载和安装华为自己的app开发软件DevEco Studio HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 2.打开IDE新建工程(当前用的IDEA 3.1.1 Release) 选择第一个,其他的默认只能用(API9)版本,搞了半天才发现8&#xff…

常用脚本-持续更新(文件重命名、视频抽帧、拆帧、删除冗余文件、yolo2xml、转换图片格式、修改xml)

所有代码位置:Learning-Notebook-Codes/Python/常用脚本 1. 文件重命名 脚本路径:codes/files_rename.py脚本说明:可以自动重命名某个文件夹下指定类型的文件。 修改前文件名称: img1.jpg修改后文件名称: Le0v1n-20231123-X-0001.jpg imp…