您的位置:首页 > 其它

机器人位于m x n网格的左上角(在下图中标记为“开始”) 机器人只能随时向下或向右移动。

2017-12-11 10:13 393 查看
本题源自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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐