给定一个整数数组$nums和目标值$target,请在数字组中找出和为目标值的那两个整数,并返回他们的数组下标

解题思路:我们可以使用数组的键值对来进行解题
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;
}

 

上一篇:Vue 中的 key 有什么作用


下一篇:虚拟 DOM 和 diff 算法 —— 精细化比较