代码随想录算法训练营第39天 | 62.不同路径 、63. 不同路径 II

今天开始逐渐有 dp的感觉了,前 两题 不同路径,可以好好研究一下,适合进阶

详细布置

62.不同路径

本题大家掌握动态规划的方法就可以。 数论方法 有点非主流,很难想到。
https://programmercarl.com/0062.不同路径.html
视频讲解:https://www.bilibili.com/video/BV1ve4y1x7Eu

/**
 * @param {number} m
 * @param {number} n
 * @return {number}
 */
var uniquePaths = function(m, n) {
    const dp = new Array(m).fill(1).map(()=>new Array(n).fill(1));

    // for (let i=0;i<n;i++) {
    //     dp[0][i] = 1;
    // }
    // for (let i=0;i<m;i++) {
    //     dp[i][0] = 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];
        }
    }

    return dp[m-1][n-1];
};
  1. 不同路径 II

https://programmercarl.com/0063.不同路径II.html
视频讲解:https://www.bilibili.com/video/BV1Ld4y1k7c6

这题要注意初始化的时候,如果障碍物在第一行或第一列,,障碍物后面的值都为0
/**
 * @param {number[][]} obstacleGrid
 * @return {number}
 */
var uniquePathsWithObstacles = function(obstacleGrid) {
    if (obstacleGrid[0][0] === 1) return 0;
    let m = obstacleGrid.length;
    let n = obstacleGrid[0].length;
    const dp = new Array(m).fill(0).map(()=>new Array(n).fill(0));
    for(let i=0;i<m;i++) {
        if (obstacleGrid[i][0]===1) {
            dp[i][0] = 0;
            break;
        } else {
            dp[i][0] = 1;
        }
    }
    for(let i=0;i<n;i++) {
        if (obstacleGrid[0][i]===1) {
            dp[0][i] = 0;
            break;
        } else {
            dp[0][i] = 1;
        }
    }

    for (let i=1;i<m;i++) {
        for(let j =1;j<n;j++) {
            if (obstacleGrid[i][j]===1) {
                dp[i][j] = 0;
            } else {
                dp[i][j] = dp[i-1][j] + dp[i][j-1];
            }
        }
    }

    return dp[m-1][n-1];
};
  1. 整数拆分 (可跳过)
    本题思路并不容易想,一刷建议可以跳过。如果学有余力,可以看视频理解一波。

https://programmercarl.com/0343.整数拆分.html
视频讲解:https://www.bilibili.com/video/BV1Mg411q7YJ

96..不同的二叉搜索树 (可跳过)
本题思路并不容易想,一刷建议可以跳过。 如果学有余力,可以看视频理解一波。

https://programmercarl.com/0096.不同的二叉搜索树.html
视频讲解:https://www.bilibili.com/video/BV1eK411o7QA

posted @ 2024-06-16 22:39  YuanYF6  阅读(1)  评论(0编辑  收藏  举报