热身,从牛客网的两道编程题说起
有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。
给定两个正整数int x,int y,请返回机器人的走法数目
题目分析:两种思路,递归or动态规划
递归:
public int countWays(int x, int y) {
{
if(x == 1 || y == 1)
return 1;
return countWays(x - 1, y) + countWays(x, y - 1);
}
动态规划
public int countWays(int x, int y) {
int [][] dp = new int[12][12];
for(int i = 0; i < x; ++i) {
dp[i][0] = 1;
}