026_不同路径

知识点:动态规划、状态压缩

LeetCode第六十二题:https://leetcode-cn.com/problems/unique-paths/submissions/

评论区有人说这个是杨辉三角,大佬果然言简意赅啊。

语言:GoLang

// 状态压缩dp,这个稍微画个表格,简单例子推演一下就能明白了
func uniquePaths(m int, n int) int {
    dp := [110]int{}
    for i := 0; i < 110; i++ {
        dp[i] = 1
    }

    for i := 1; i < n; i++ {
        for j := 1; j < m; j++ {
            dp[j] += dp[j - 1]
        }
    }

    return dp[m - 1]
}



// 二维dp
func uniquePaths_(m int, n int) int {
    
    dp := [110][110]int{}
    for i := 0; i < n; i++ {
        dp[i][0] = 1
    }
    for i := 0; i < m; i++ {
        dp[0][i] = 1
    }

    for i := 1; i < n; i++ {
        for j := 1; j < m; j++ {
            dp[i][j] = dp[i][j - 1] + dp[i - 1][j]
        }
    }

    return dp[n - 1][m - 1]
}
posted @ 2020-03-21 11:20  Cenyol  阅读(65)  评论(0)    收藏  举报