解法1:利用Map实现,key为数组值,value为数组下标
- map.has(target - nums[n]) 判断Map中是否有key为(target - nums[i]) ==> 对应数组的值
- map.get(target - nums[i]) 根据key获取Map中符合条件的value ==> 对应数组下标
function getTwoNumsSum(nums, target) {
const numsMap = new Map()
for (let i = 0; i < nums.length; i++) {
if(numsMap.has(target - nums[i])) {
return [i, numsMap.get(target - nums[i])]
}
numsMap.set(nums[i], i)
}
}
解法2:冒泡
function getTwoNumsSum2(nums, target) {
for (let i = 0; i < nums.length; i++) {
for (let j = nums.length; j > i; j--) {
if (nums[i] + nums[j] === target) {
return [i, j]
}
}
}
}