递归解法 | #机器人走方格I#

机器人走方格I

https://www.nowcoder.com/practice/e8bb8e68434e42acbcdff0341f2a32c5


import java.util.*;

public class Robot {
    public int countWays(int x, int y) {
        // write code here
        // 大于12不符合要求
        if (x + y > 12) {
            return 0;
        }
        // 起点坐标为1,1,而非0,0
        int mx = 1;
        int my = 1;
        int move = move(x, y, mx, my);
        return move;
    }


    public static int move(int x, int y, int mx, int my) {
        // 超出边界
        if (mx > x || my > y) {
            return 0;
        }
        // 走到目标点,记一次
        if (mx == x && my == y) {
            return 1;
        }
        // 向右边和下边持续递归
        return move(x, y, mx + 1, my) + move(x, y, mx, my + 1);
    }
}


全部评论

相关推荐

评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务