题解 | #放苹果#

放苹果

https://www.nowcoder.com/practice/bfd8234bb5e84be0b493656e390bdebf

const readline = require("readline");

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
});
rl.on("line", function (line) {
    const tokens = line.split(" ");
    const apples = tokens[0];
    const plates = tokens[1];
    let dp = []; // dp 数组 存每个组合的结果;
    dp[0] = new Array(Number(plates+1)).fill(0)
    for (let x = 0; x < apples; x++) {
        dp.push([0,1]);
    }
    // console.log(JSON.stringify(dp));
    // 递推顺序
    for (let i = 1; i <= plates; i++) {
        for (let j = 1; j <= apples; j++) {
            if(i > j){
                dp[j][i] = dp[j][i-1]
            }
            if(j === i){
			// 每个盘子分配1个是一次新的结果
                dp[j][i] = Number(dp[j][i-1]) + 1;
                continue;
            }
            // 递推公式 每一项的盘子-1的分配结果 + 每个盘子都放1个后 重新分配剩下的j-i个苹果 就是重新分配一下j-i个苹果到i个盘子里
            if (j > i) {
                dp[j][i] = Number(dp[j][i-1]) + Number(dp[j-i][i]);
                continue;
            }
        }
    }
    console.log(dp[apples][plates]);
});

全部评论

相关推荐

程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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