1. Two Sum

/**
 * @param Integer[] $nums
 * @param Integer $target
 * @return Integer[]
 */
function twoSum($nums, $target) {
    $table = [];
    foreach($nums as $key => $num) {
        $diff = $target - $num;
        $prevKey = array_search($diff, $table);
        if ($prevKey !== false) {
            return [$prevKey, $key];
        } else {
            $table[$key] ??= $num;
        }
    }
}

比較好理解的寫法:

https://leetcode.com/problems/two-sum/solutions/3515647/two-sum-too-cleanarrow-up-right

Last updated