比如存在一个数组[1,2,4,8,16,32];然后给定一个数字,这个数字是由数组中某些数字相加得到的,问题是怎么找到是由数组中哪几个数字相加而成的?
1 回答
喵喵时光机
TA贡献1846条经验 获得超7个赞
最笨的方法可以用两层for循环计算
const arr = [1,2,4,8,16,32];
function addResult(arr,value){
let key = [];
for(let i = 0; i < arr.length;i++){
let d = arr[i];
for( let j = 0; j < arr.length;j++){
let jd = arr[j];
if( d + jd === value ){
key = [i,j];
break;
}
}
if( key.length > 0 ) break;
}
return key;
}
addResult(arr,4)
添加回答
举报
0/150
提交
取消