解题思路:我们可以使用数组的键值对来进行解题
1、循环数组求出每个元素与目标的差值
2、将整数数组键值调换
3、将1和2进行比对,就能得出答案
/** * @param $target int 目标值 * @param $nums array 整数数组 * @return array */ function sum($target, $nums) { // 存储$nums数组键值调换的数组 $array = []; $res = []; foreach ($nums as $index => $item) { // 求出当前元素与目标的差值 $diff = $target - $item; // 判断差值是否在数组$array中,没有则将当前元素填入$array中 if (array_key_exists($diff, $array)) { $res = [$array[$diff], $index]; } else { $array[$item] = $index; } } return $res; }