题解 | #称砝码#

称砝码

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 () {
    // 处理输入
    let n = await readline()
    let weights = (await readline()).split(' ').map(v => Number(v))
    let counts = (await readline()).split(' ').map(v => Number(v))

    getTypeCount(weights, counts)
}()

function getTypeCount (weights, counts) {
    const set = new Set()
    set.add(0)
    
    for (let i = 0; i < weights.length; i++) {
        let arr = [...set]
        for (let j = 1; j <= counts[i]; j++) {
            arr.forEach(item => set.add(item + weights[i] * j))
        }
    }

    console.log(set.size)
}

全部评论

相关推荐

Gaynes:查看图片
点赞 评论 收藏
分享
06-02 15:17
门头沟学院 Java
心爱的idea:怎么会呢 应该是打招呼有问题 问就说实习6个月全国可飞随时到岗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务