array_unique PHP的动作数



谁知道array_unique()Big O ?

我没有通过源,但我可以想象它循环遍历每个值,并检查它是否在数组中,这将是O(n^2),这是正确的吗?

谢谢

这是O(nlogn),因为它使用排序而不是您的O(n^2)扫描。

注意键是保留的。Array_unique()首先将作为字符串处理的值进行排序,然后保留每个值遇到的第一个键,并忽略后面的所有键。这并不意味着将保留未排序数组中第一个相关值的键。

引自http://php.net/manual/en/function.array-unique.php

编辑:记得谷歌一下,检查一下手册,检查一下现有的问题,然后再问

相关内容

  • 没有找到相关文章

最新更新