写点什么

LeetCode 题解:62. 不同路径,动态规划(空间 O(n)),JavaScript,详细注释

作者:Lee Chen
  • 2024-06-20
    福建
  • 本文字数:412 字

    阅读完需:约 1 分钟

原题链接:https://leetcode-cn.com/problems/unique-paths/


解题思路:


  1. 在网格中的任意一点,都有向右和向下两种走法。同时它也是从上方和左方两个位置走过来的。

  2. 那么,任意一点的走法数量,等于从起点走到上方和左方点的数量之和。

  3. 因此,只需要用长度为 n 的数组递推即可。

  4. 动态规划的状态转移方程为:dp[j]=dp[j-1]+dp[j]

  5. 起点只有一种走法,因此起始位置为 1。


/** * @param {number} m * @param {number} n * @return {number} */var uniquePaths = function(m, n) {  // 存储递推结果  let dp = new Array(n).fill(0)  // 起点的路径数量为1  dp[0] = 1
// 计算网格中每个点的路径数量 for (let i = 0; i < m; i++) { for (let j = 0; j < n; j++) { // 当前位置的路径数量,为它的左方和上方的路径数量之和 // j为0时,dp[j - 1]不存在,将其当做0即可 dp[j] += dp[j - 1] ?? 0 } }
//终点的路径数量就是最终结果 return dp[n - 1]};
复制代码


发布于: 刚刚阅读数: 4
用户头像

Lee Chen

关注

还未添加个人签名 2018-08-29 加入

还未添加个人简介

评论

发布
暂无评论
LeetCode题解:62. 不同路径,动态规划(空间O(n)),JavaScript,详细注释_Lee Chen_InfoQ写作社区