题解 | #求二叉树的层序遍历#
称砝码
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);
}