其他分享
首页 > 其他分享> > 62. Unique Paths

62. Unique Paths

作者:互联网

第一思路是动态规划

通过观察,每一个格子的路线数等于相邻的左方格子的路线数加上上方格子的路线数

于是我们就得到 dp[i][j] = dp[i-1][j] + dp[i][j-1] 这个状态转移方程

 1 int get_sum(vector<vector<int>> dp, int i, int j, int m, int n)
 2 {
 3     if(j == 1 || i == 1)
 4         return 1;
 5     return dp[i-1][j] + dp[i][j-1];
 6 }
 7 int uniquePaths(int m, int n)
 8 {
 9     vector<vector<int>> dp(m+1,vector<int>(n+1,0));
10     dp[1][1] = -1;
11     for(int i=1; i<=m; i++)
12     {
13         for(int j=1; j<=n; j++)
14         {
15             dp[i][j] = get_sum(dp, i, j, m, n);
16         }
17     }
18     return dp[m][n];
19 }

标签:Paths,index,int,uniquePaths,62,vector,方格子,Unique,dp
来源: https://www.cnblogs.com/tornado549/p/10611092.html