移除重复数字


Submit solution

Points: 10
Time limit: 1.0s
Memory limit: 4M

Author:
Problem type
Allowed languages
C++

移除重复数字

给定一个按非递减顺序排序的整数数组 nums,请原地删除重复项,使得每个唯一元素只出现一次。元素的相对顺序应该保持不变。然后返回 nums 中唯一元素的个数。

考虑 nums 中唯一元素的个数为 \(k\),为了通过此题的判断,您需要做以下几件事: 修改数组 nums,使得 nums 的前 \(k\) 个元素包含初始数组 nums 中的唯一元素,且保持它们的顺序不变。nums 中剩余的元素不重要,nums 的大小也不重要。返回 \(k\)。

示例 1:

输入:

3
1 1 2

输出:

2
1 2 _
解释:您的函数应该返回 \(k = 2\),其中 nums 的前两个元素分别为 \(1\) 和 \(2\)。在返回的 \(k\) 后面的元素不重要(因此它们用下划线 _ 表示)。
示例 2:

输入:

10
0 0 1 1 1 2 2 3 3 4

输出:

5
0 1 2 3 4 _ _ _ _ _
解释:

您的函数应该返回 \(k = 5\),其中 nums 的前五个元素分别为 0, 1, 2, 3, 4。在返回的 \(k\) 后面的元素不重要(因此它们用下划线 _ 表示)。

约束:

(\(1 \le nums.length \le 3 * 10^4\)) (\(-100 \le nums[i] \le 100\)) nums 是按非递减顺序排序的。


Comments

There are no comments at the moment.