Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 识别和删除阵列中重复项的最有效方法是什么?_Arrays - Fatal编程技术网

Arrays 识别和删除阵列中重复项的最有效方法是什么?

Arrays 识别和删除阵列中重复项的最有效方法是什么?,arrays,Arrays,我有一个包含一百万个对象的数组,它包含一个重复的?识别并删除副本的最有效方法是什么 如果它被排序了,只需从左到右,直到您在一行中找到其中的两个 平均复杂度:O(n/2) 最坏复杂度:O(n) 如果没有排序,并且您有足够的内存,请创建hashmap,将对象存储为键,当您两次按一个键时,它是重复的 平均复杂度:O(n/2) 最坏复杂度:O(n) 如果没有排序,并且您没有足够的内存,请使用快速排序对其排序,然后使用方法1 平均复杂度:O(n*logn) 最坏复杂度:O(n^2) 数组是否已排序?可能重

我有一个包含一百万个对象的数组,它包含一个重复的?识别并删除副本的最有效方法是什么

  • 如果它被排序了,只需从左到右,直到您在一行中找到其中的两个

    平均复杂度:O(n/2)

    最坏复杂度:O(n)

  • 如果没有排序,并且您有足够的内存,请创建hashmap,将对象存储为键,当您两次按一个键时,它是重复的

    平均复杂度:O(n/2)

    最坏复杂度:O(n)

  • 如果没有排序,并且您没有足够的内存,请使用快速排序对其排序,然后使用方法1

    平均复杂度:O(n*logn)

    最坏复杂度:O(n^2)


  • 数组是否已排序?可能重复