题目取自力扣
示例 1:
输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
算法图解如下:
js代码解法
function twoSum (nums, target){
const map = new Map();
for(let i=0; i<nums.length; i++){
if (map.has(nums[i])){
return [map.get(nums[i]),i];
}else{
map.set(target-nums[i],i);
}
}
}
php代码解法:
function twoSum($nums , $target ){
$tmp = [];
for($i = 0; $i < count($nums); $i++){
if(in_array($nums[$i],$tmp)){
return [array_search($nums[$i], $tmp) ,$i];
}
$tmp[$i] = $target - $nums[$i];
}
}
$result = twoSum($nums,$target);
核心思想
先将要找的结果值存储起来进行判断
注:如有错误的地方请留言说明,会及时改正