题目描述
有一个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
if(x<=0||y<=0) return 0;
int n = x + y - 2;
return getN(n)/(getN(x-1)*getN(y-1));
}
private int getN(int n){
int res = 1;
for(int i=2; i<=n; ++i){
res*=i;
}
return res;
}
}