【发布时间】:2011-11-30 05:40:34
【问题描述】:
如果我有一个有符号整数数组,例如:
Array
(
[0] => -3
[1] => 1
[2] => 2
[3] => 3
[4] => 3
)
为了获得独特的价值,我会本能地使用array_unique,但经过考虑,我可以执行两次array_flip,这会产生相同的效果,我认为它会更快吗?
array_unique O(n log n) 因为它使用了排序操作
array_flip O(n)
我的假设是否正确?
更新/示例:
$intArray1 = array(-4,1,2,3);
print_r($intArray1);
$intArray1 = array_flip($intArray1);
print_r($intArray1);
$intArray1 = array_flip($intArray1);
print_r($intArray1);
Array
(
[0] => -3
[1] => 1
[2] => 2
[3] => 3
[4] => 3
)
Array
(
[-3] => 0
[1] => 1
[2] => 2
[3] => 4
)
Array
(
[0] => -3
[1] => 1
[2] => 2
[4] => 3
)
【问题讨论】:
标签: php big-o array-unique array-flip