题解 | #称砝码#
称砝码
https://www.nowcoder.com/practice/f9a4c19050fc477e9e27eb75f3bfd49c
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
// Write your code here
let arr = [];
while ((line = await readline())) {
arr.push(line);
}
// console.log('arr====', arr)
arr.shift()
const weightArr = arr.shift().split(" "); // 重量数组
const counts = arr.shift().split(" "); // 数量数组
let plantArr = []
for (let i = 0; i < weightArr.length; i++) {
for (let j = 0; j < counts[i]; j++) {
plantArr.push(weightArr[i])
}
}
const set = new Set()
set.add(0)
// console.log('plantArr====', plantArr)
for (let i = 0; i < plantArr.length; i++) {
const arr = [...set]
arr.forEach(v => {
set.add(Number(v) + Number(plantArr[i]))
})
}
console.log(set.size)
})();
查看1道真题和解析