活跃农民
- 积分
- 549
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2016-8-20
- 最后登录
- 1970-1-1
|
请问第二题生成多少个number不要求把这些number输出吧?
public static void main(String[]args){
char[][]phone = new char[][]{{'1','2','3'},{'4','5','6'},{'7','8','9'},{' ','0',' '}};
int move = 1;
int x = 0;
int y = 0;
CellPhone cellPhone = new CellPhone();
System.out.println(cellPhone.calculate(phone, move, x, y));
}
public int[]dX = {1, -1, 1, -1,2, -2, 2, -2};
public int[]dY = {2, -2, -2, 2,1, -1, -1, 1};
public int count = 0;
public int calculate(char[][]phone, int move, int i, int j){
helper(phone, move, i, j);
return count;
}
public void helper(char[][]phone, int move, int i, int j){
if (move == 0){
count++;
return ;
}
for (int k = 0; k < 8; k++){
int x = i + dX[k];
int y = j + dY[k];
if (x >= 0 && x < 4 && y >= 0 && y < 3){
if (x == 3 && (y == 0 || y == 2)) continue;
helper(phone, move - 1, x, y);
}
}
}
是这个意思吗? |
|