题解 | HJ91#走方格的方案数#

走方格的方案数

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

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        int m = scanner.nextInt();
        int n = scanner.nextInt();
        System.out.println(sum(n, m));
    }
    public static int sum(int n, int m) {
        int num = 0;
        if (m > 0 && n > 0) {
            if (m == 1) {
                if (n == 1) {
                    num = 2;
                } else {
//                    m==1&&n>1
                    num = sum(n - 1, 1) + 1;
                }

            } else {
//                m>1
                if (n == 1) {
                    num = sum(1, m - 1) + 1;;
                } else {
//                    m>1&&n>1
                    num = sum(n - 1, m) + sum(n, m - 1);
                }
            }
        }
        return num;
    }
}

类似于放苹果和青蛙跳的递归问题 主要分类标准为(m==1){n==1 {};n>1{}}以及(m>1){n==1{};n>1{}}

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 17:10
点赞 评论 收藏
分享
头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
榕城小榕树:1200单休,我去干点啥别的不好
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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