问题描述
平面上有N*M个格子,每次只能向右或者向上走一步,问从起点到右上角一共多少条路径?
分析
这道题,数学中的组合问题,结果为 cmm+n ;
注意:
1. 应该开辟int[m+1][n+1]的空间,否则给出的就是
cm−1m+n−2
2. 记得初始化边界
代码
public static int LeapGrid(int m, int n){
int[][] d = new int[m+1][n+1];
d[0][0] = 0;
for(int i = 1; i <= m; i++){
d[i][0] = 1;
}
for(int i = 1; i <= n; i++){
d[0][i] = 1;
}
for(int i = 1;i <= m;i++){
for(int j = 1; j <= n; j++){
d[i][j] = d[i-1][j] + d[i][j-1];
}
}
return d[m][n];
}