题解 | #求二叉树的层序遍历#

称砝码

http://www.nowcoder.com/practice/f9a4c19050fc477e9e27eb75f3bfd49c

简单易懂

let n;
while (n = readline()) {
    let weight = readline().split(' ').map(Number);
    let num = readline().split(' ').map(Number);
    let res = new Set([0]);
    // 遍历每个不同的重量
    for (let i = 0; i < weight.length; i++) {
        // 得到当前所有的重量数
        let temp = [...res];
        // 列举当前重量及其数量的所有可能结果
        for (let j = 1; j <= num[i]; j++) {
            temp.forEach(item => {
                let val = item + j * weight[i];
                if (!res.has(val)) {
                    res.add(val)
                }
            })
            
        }
    }
    
    print(res.size);
}
全部评论

相关推荐

11-03 14:38
重庆大学 Java
AAA求offer教程:我手都抬起来了又揣裤兜了
点赞 评论 收藏
分享
10-30 10:16
南京大学 Java
龚至诚:给南大✌️跪了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务