学习目标:
目标:熟练运用Java所学知识
学习内容:
本文内容:使用java解决 机器人走方格I
题目描述
给定两个正整数int x,int
y,代表一个x乘y的网格,现有一个机器人要从网格左上角顶点走到右下角,每次只能走一步且只能向右或向下走,返回机器人有多少种走法。保证x+y小于等于12。
测试样例:
2,2
返回:2
解题思路
这是一道动态规划题目
解题思路之前写过:
路径和
实现代码
public class CountWays {
public int countWays(int x, int y) {
// write code here
int[][] res=new int[x][y];//记录返回值的数组
for(int i=0;i<x;i++){
res[i][0]=1;//数据初始化
}
for(int i=0;i<y;i++){
res[0][i]=1;//数据初始化
}
for(int i=1;i<x;i++){
for(int j=1;j<y;j++){
res[i][ j]=res[i-1][j]+res[i][j-1];//状态转移方程
}
}
return res[x-1][y-1];
}
}