<分区>
假设我有一个整数元素数组,在这里我想删除所有重复元素并打印剩余元素而不使用任何 Java.util 类。我使用 2 个指针来扫描并删除所有重复项来解决它,但这需要 O(N^2)。我只想知道有没有算法可以在 O(N) 内完成这个任务?
例子:
Input Array: [1, 2, 3, 4, 5, 4, 3, 4, 6]
Expected Array: [1, 2, 5, 6]
<分区>
假设我有一个整数元素数组,在这里我想删除所有重复元素并打印剩余元素而不使用任何 Java.util 类。我使用 2 个指针来扫描并删除所有重复项来解决它,但这需要 O(N^2)。我只想知道有没有算法可以在 O(N) 内完成这个任务?
例子:
Input Array: [1, 2, 3, 4, 5, 4, 3, 4, 6]
Expected Array: [1, 2, 5, 6]
最佳答案
您可以使用桶来实现 O(N) + C(使用巨大的 C),但以存储为代价
bucket[]数组可以用更好的数据结构代替。但是还是做到了O(N)
关于arrays - 通过不使用集合来删除具有 O(N) 的重复数组元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19762790/