LeetCode中怎么删除排序数组中的重复项
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家介绍LeetCode中怎么删除排序数组中的重复项,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一,删除排序数组中的重复项1,问题简述给定一个排序数组,你需要在 原地
千家信息网最后更新 2026年11月01日LeetCode中怎么删除排序数组中的重复项
一,删除排序数组中的重复项
这篇文章给大家介绍LeetCode中怎么删除排序数组中的重复项,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
一,删除排序数组中的重复项
1,问题简述
给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
2,示例描述
示例 1:
给定数组 nums = [1,1,2],
函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。
你不需要考虑数组中超出新长度后面的元素。
示例 2:
给定 nums = [0,0,1,1,1,2,2,3,3,4],
函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。
你不需要考虑数组中超出新长度后面的元素。
说明:
为什么返回数值是整数,但输出的答案是数组呢?
请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。
你可以想象内部操作如下:
// nums 是以"引用"方式传递的。也就是说,不对实参做任何拷贝
int len = removeDuplicates(nums);
// 在函数里修改输入数组对于调用者是可见的。
// 根据你的函数返回的长度, 它会打印出数组中该长度范围内的所有元素。
for (int i = 0; i < len; i++) {
print(nums[i]);
}
3,解题思路
两种思路,(1)第一次,遍历数组时,让第一个元素当做"哨兵"节点,然后遍历数据进行后面元素的比对,不过每次遍历数组时都要记得更新"哨兵"节点的数据;(2),根据hashMap键值对集合进行操作
4,题解程序
import java.util.HashMap;
import java.util.Map;
public class RemoveDuplicatesTest2 {
public static void main(String[] args) {
int[] nums = {1, 1, 2};
int removeDuplicates = removeDuplicates2(nums);
System.out.println("removeDuplicates = " + removeDuplicates);
}
public static int removeDuplicates(int[] nums) {
int len = nums.length;
if (0 == len) {
return 0;
}
int prev = nums[0];
int newLen = 1;
for (int i = 1; i < len; i++) {
int num = nums[i];
if (num != prev) {
nums[newLen++] = num;
prev = num;
}
}
return newLen;
}
public static int removeDuplicates2(int[] nums) {
if (nums == null || nums.length == 0) {
return 0;
}
Map map = new HashMap<>(nums.length);
int index = 0;
for (int i = 0; i < nums.length; i++) {
int value = map.getOrDefault(nums[i], 0) + 1;
map.put(nums[i], value);
if (value <= 1) {
nums[index++] = nums[i];
}
}
return index;
}
}
关于LeetCode中怎么删除排序数组中的重复项就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
数组
元素
长度
函数
排序
输入
示例
内容
原地
哨兵
思路
数据
方式
更多
用者
空间
节点
中超
帮助
不对
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网
互联网新科技
南京欣网互联网络科技有限公司
科技创新与互联网经济
互联网是不是新科技
互联网科技战争
易互联网科技有限公司
天津摩尔互联网科技
互联网科技素材视频竖屏
济南华为互联网科技产业总部基地
团飞科技与伯堂互联网服务平台
苏州五指互联网络科技有限
移动互联网科技公司
银川新华互联网科技学校联系电话
四川慕妮娅互联网科技有限公司
沐思想互联网科技有限公司
银行科技岗属于互联网吗
中国科技和美国互联网
中国互联网公司的科技投入
互联网科技大佬云集
咖啡网
互联网的科技
广州互联网科技公司
互联网科技小额贷款
金融科技和互联网金融
互联网经济与金融科技
链环科技传统企业怎么转型互联网
合肥互联网科技公司公章图片
互联网金融科技元年
富国互联网科技002692