//方法一:遍历,缺点是时间复杂度为O(N^2)
function add(arr,target){
let obj=[];
for(let i=0;i<arr.length;i++){
for(let j=i+1;j<arr.length;j++){
if(arr[i]+arr[j]==target){
obj.push(i);
obj.push(j);
break;
}
}
}
return obj
}
console.log(add([1,2,3,4],4))
//方法二:用Map记录遍历过的数字及其索引,减少时间复杂度
function add(arr,target){
const map=new Map();
for(let i=0;i<arr.length;i++){
const de=target-arr[i];
if(map.has(de)){
return [map.get(de),i]
}
map.set(arr[i],i)
}
}
console.log(add([1,2,3,4],4))