找出数组中不重复的值PHP版

122 2月之前 PHP 数组

答案

用 hash/桶 的思路

$res = [];
foreach ($data as $item) {
    if(array_key_exists($item, $res)) {
        ++$res[$item];
    } else {
        $res[$item] = 1;
    }
}

foreach ($res as $k => $v) {
    if($v == 1) {
        echo $k;
    }
}

这个算法的时间复杂度是:O(n)

O(n+m) => O(n)