爱奇艺笔试第二题

public class S2 {
    public static void main(String[] args) {
        int n = 3;
        int m = 4;
        System.out.format("%.5f", cal(n, m));
    }

    private static double cal(int n, int m) {
        if (n >= 1 && m == 0) {
            return 1;
        }
        if (n <= 0 || m <= 0) {
            return 0;
        }
        double curr = n / (m + n + 0.0);
        double fail = allFail(n, m);
        double next1 = cal(n - 1, m - 2);
        double next0 = cal(n, m - 3);
        curr = curr + fail * (((m - 2) / (n + m - 2.0)) * next0 + (1 - (m - 2) / (n + m - 2.0)) * next1);
        return curr;
    }

    /**
     * A B 全部不胜利,可以进入下一轮
     */
    private static double allFail(int n, int m) {
        if (m < 2) {
            return 0;
        }
        return m / (n + m + 0.0) * (m - 1) / (n + m - 1.0);
    }
}

#爱奇艺##题解#
全部评论
这个思路我是知道的,可是我写不出这么漂亮的代码,
点赞 回复 分享
发布于 2019-09-08 17:36
可以说一下思路吗 求解答
点赞 回复 分享
发布于 2019-09-08 17:35
大佬tql
点赞 回复 分享
发布于 2019-09-08 17:32

相关推荐

点赞 评论 收藏
分享
05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
06-25 16:53
门头沟学院 Java
人力小鱼姐:简历可以直接用飞书模板 模拟面试可以试试ai,现在好多都还是免费阶段 像Sugar云面、多面鹅都不错,主要看面试后自己能不能复盘出有效信息
为了找工作你花了哪些钱?
点赞 评论 收藏
分享
评论
2
10
分享

创作者周榜

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