题解 | #走方格的方案数#

走方格的方案数

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

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
    while ((line = await readline())) {
        let [m, n] = line.split(" ").map(Number);
        let dp = Array.from(Array(m + 1).fill(0), () =>
            new Array(n + 1).fill(1)
        );
        for (let i = 1; i <= m; i++) {
            for (let j = 1; j <= n; j++) {
                dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
            }
        }
        console.log(dp[m][n]);
    }
})();

动态规划的解法:初始值为1:状态转移方程为 dp[i][j] = dp[i - 1][j] + dp[i][j - 1];

m和n使用split的方法转化为数组后,必须使用Number方法使其变成数组 let [m, n] = line.split(" ").map(Number);

创建m+1行,n+1列 多维数组的方法

Array.from(Array(m+1)),()=>new Array(n+1).fill(1)); 或者 Array(m+1).fill(0).map(() => new Array(n+1).fill(1));

fill(1)使用1填充整个数组

Array.from 第一个参数是可迭代对象,第二个参数是对数组中每个元素执行的函数

全部评论

相关推荐

浪子陪都:简历最优秀的地方放到了后面,国奖,校级奖学金这些是最亮眼的。说明你跟同级别的学生不一样。 建议台灯这个,PCB布局布线这个词汇不专业,业内是PCB Layout,第二,单片机的板子一般不用考虑SI,PI 都是低速信号,只要遵循3W原则就好了。 单片机的项目太low了,技能这块,你要看一下BOSS直聘的招聘要求,按照别人的要求写,一些关键词可以增加你简历被检索到的概率。 主修课程不用写,这个没有人去关注的。
点赞 评论 收藏
分享
EEbond:给北邮✌️跪了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务