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]
}