两数之和
解题思路
- 创建一个map,for循环遍历nums数组
- 用target减nums[i],(计算跟当前的数字相加得到target)
- 检查map中有没有这个数,如果有返回结果,如果没有把nums[i]当作key,i当作value放入map
nums = [2,7,11,15];
target = 9;
var twoSum = function(nums, target) {
const map = new Map();
for (let i = 0; i < nums.length; i++){
const result = target - nums[i];
if (map.has(result)) {
return [map.get(result),i];
} else {
map.set(nums[i],i);
}
}
return [];
}
console.log(twoSum(nums,target));