题解 | #称砝码#

称砝码

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 index = 0;
    let n;
    let weights = [];
    let nums = [];
    let arr = [0];
    while ((line = await readline())) {
        if (index === 0) {
            n = parseInt(line);
            index++;
        } else if (index === 1) {
            weights = line.split(" ").map(Number);
            index++;
        } else {
            nums = line.split(" ").map(Number);
        }
    }
    for (let i = 0; i < n; i++) {
        for (let j = 1; j <= nums[i]; j++) {
            let temp = [];
            for (let a of arr) {
                temp.push(a + weights[i]);
            }
            arr.push(...temp);
            arr = [...new Set(arr)];
        }
    }
    console.log(arr.length);
})();

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-27 10:28
点赞 评论 收藏
分享
joe2333:怀念以前大家拿华为当保底的日子
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务