题目:
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。
问总共有多少条不同的路径?
题解:
每一个小整体的最后一个位置都是由它左边一个位置和上边一个位置中的一个位置走过来的,所以走到当前小整体的最后一个位置的方法数是左边一个位置和上边一个位置的方法数之和。】
- int uniquePaths(int m, int n) {
- int dp[105][105]={0};
- dp[0][1]=1;
- for(int i=1;i<=m;i++){
- for(int j=1;j<=n;j++){
- dp[i][j]=dp[i-1][j]+dp[i][j-1];
- }
- }
- return dp[m][n];
- }
题后反思:
本题其实是一道递推