题解 | #称砝码#
称砝码
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) })();