为了账号安全,请及时绑定邮箱和手机立即绑定

javaScript中给定一个动态的数字,怎么知道这个数字是由数组中哪几个数字相加而成的

javaScript中给定一个动态的数字,怎么知道这个数字是由数组中哪几个数字相加而成的

慕容708150 2018-12-19 18:23:01
比如存在一个数组[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)


查看完整回答
反对 回复 2019-01-09
  • 1 回答
  • 0 关注
  • 733 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信