找出数组中不重复的值

1 答案

用 hash/桶 的思路,PHP代码如下:

$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)

muzi muzi 11 月前 点赞 0