一:自己的 答案:时间复杂度较高
function getAll(nums, target) {
for (let n = 0; n < nums.length; n++) {
let a = target - nums[n]
let b = nums.indexOf(a)
if (b !== -1 && n !== b) {
return [n, b]
}
}
}
二:参考别人想法(利用map格式数据解决问题)时间复杂度低
//利用map格式数据解决
function getAll(nums, target) {
let map = new Map()//设置map格式数据
if (let n = 0; n < nums.length; n++) {
//如果map中有target-nums[n],直接返回数据
if (map.has(target - nums[n])) {
return [n, map.get(target - nums[n])]
} else {
//没有则将本条数据存入map中
map.set(nums[n], n)
}
}
}