- 可以假设每种输入只有一种答案
- 例子 nums = [1,2,5] target=7 返回[1,2]
let arr1 = [1,2,4,6,7]
let target=3
- 暴力双层for循环
function twoSum1(nums,target){
let len = nums.length
for(let i=0;i<len;i++){
for(let j = i+1;j<len;j++){
if(nums[i]+ nums[j]===target){
return [i,j]
}
}
}
return []
}
console.log(twoSum1(arr1,target)) [0,1]
2.一层for循环+ map的 key值的唯一性
function twoSum2(nums,target){
let len = nums.length
let map = new Map()
for(let i =0;i<len;i++){
if(map.has(target-nums[i])){
return [map.get(target-nums[i]),i]
}
map.set(nums[i],i)
}
return []
}
console.log(twoSum2(arr1,target)) [0,1]