您的位置:首页 > 其它

LintCode刷题——不同的路径

2017-09-23 22:17 246 查看
描述:

有一个机器人的位于一个 m × n 个网格左上角。

机器人每一时刻只能向下或者向右移动一步。机器人试图达到网格的右下角。

问有多少条不同的路径?
样例:

给出 m = 
3
 和 n = 
3
,
返回 
6
.

给出 m = 
4
 和 n = 
5
,
返回 
35
.

解题:

public class Solution {
/**
* @param n, m: positive integer (1 <= n ,m <= 100)
* @return an integer
*/
public int uniquePaths(int m, int n) {
if(m==0||n==0) {
return 1;
}
int [][]dp=new int[m]
;
dp[0][0]=1;
for(int i=1;i<m;i++) {
dp[i][0]=1;
}
for(int j=1;j<n;j++) {
dp[0][j]=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];
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息