//时间复杂度O(NlogN),空间复杂度O(1)
void solution2(int* src, int len) {
//先快排,使所有相同项聚集
qsort(src, len, sizeof(int), cmp);
int prev = 0;
//若带放入元素与上一个放入元素相同则跳过(重复项)
for (int i = 1; i < len; ++i) {
if (src[prev] != src[i]) {
src[prev + 1] = src[i];
prev++;
}
}
for (int i = 0; i < prev + 1; ++i) {
cout << src[i] << ' ';
}
}请把一个整形数组中重复的数字去掉
最新推荐文章于 2024-05-02 16:55:34 发布
本文介绍了一种使用快速排序算法去重的方法,时间复杂度为O(NlogN),空间复杂度为O(1)。该算法首先对数组进行快速排序,然后遍历数组,通过比较相邻元素来移除重复项。
2万+

被折叠的 条评论
为什么被折叠?



