比如一个2*3的矩阵,
1 2 3
4 5 6
从1出发走到6,则可能的走法为:1 2 3 6, 1 2 5 6, 1 4 5 6共有三种。
这道题可以看成是深度优先遍历一颗树。解法为:
public class MatrixTraversal {
public static int getTraversal(int p, int q) {
int num = 0;
if (p == 1 && q == 1) {
return 1;
}
if (p > 1) {
num += getTraversal(p - 1, q);
}
if (q > 1) {
num += getTraversal(p, q - 1);
}
return num;
}
public static void main(String[] args) {
int num = getTraversal(2, 3);
System.out.println(num);
}
}