gpt4 book ai didi

java - 如何从排序数组中删除重复元素

转载 作者:行者123 更新时间:2023-12-05 09:04:32 26 4
gpt4 key购买 nike

给定一个大小为 N 的有序数组 A,删除 A 中的所有重复元素。注意:不要使用 set 或 HashMap 来解决问题。示例:

输入:

N = 5
Array = {2, 2, 2, 2, 2}

输出:2

解释:删除所有重复项后只有一个 2 的实例会保留。

我试过下面的代码。请告诉我代码有什么问题?

int remove_duplicate(int arr[],int N){
// code here
int index=0;
for(int i=1;i<N;i++){
if(arr[i]!=arr[i-1]){
arr[index]=arr[i-1];
index++;
}
}
return index+1;
}

最佳答案

您可以替换一些重复的元素并在末尾设置长度。

这种方法会改变数组。

const
remove_duplicate = array => {
let j = 0;
for (let i = 0; i < array.length; i++) {
if (array[j - 1] !== array[i]) array[j++] = array[i];
}
array.length = j;
return array;
};

console.log(...remove_duplicate([2, 2, 2]));
console.log(...remove_duplicate([1, 1, 2, 2, 3, 4, 5, 5]));

关于java - 如何从排序数组中删除重复元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68509060/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com