程式碼隨想錄演算法訓練營第39天 | 62.不同路徑 、63. 不同路徑 II

YuanYF6發表於2024-06-16

今天開始逐漸有 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

相關文章