题目描述
有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。
给定两个正整数int x,int y,请返回机器人的走法数目。保证x+y小于等于12。
测试样例:
2,2
返回:2
import java.util.*;
public class Robot {
public int countWays(int x, int y) {
// write code here
int array[][] = new int[x][y];
for(int i=0;i<y;i++){//最上面一行为1
array[0][i]=1;
}
for(int i=0;i<x;i++){//最左边一行为1
array[i][0]=1;
}
for(int row=1;row<x;row++){
for(int col=1;col<y;col++){
array[row][col]=array[row-1][col]+array[row][col-1];
}
}
return array[x-1][y-1];
}
}
他人代码(可过):
import java.util.*;
public class Robot {
public int countWays(int x, int y) {
// write code here
if(x==1||y==1) return 1;
return countWays(x-1,y)+countWays(x,y-1);
}
}