機器人位於m x n網格的左上角(在下圖中標記為“開始”) 機器人只能隨時向下或向右移動。
本題源自leetcode 62
思路:動態規劃
1 只能向下或者向右走。所以當在i=0 或者 j = 0時 等於1
2 dp[i] [j] = dp[i-1][j] + dp[i][j-1];
程式碼:
int uniquePaths(int m, int n) { vector<vector<int>> dp(m,vector<int>(n,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-1][n-1]; }
程式碼2;
int uniquePaths(int m, int n) {
int total = m + n -2; //一共要走的步數
int down = m - 1; //向下要走的步數
double res = 1;
for(int i = 1 ; i <= down; i++){
res =res * (total - down + i) / i;
}
return (int)res;
}