备案 控制台
学习
实践
活动
专区
工具
TVP
写文章
专栏首页 国产程序员 给一个函数,返回 0 和 1,概率为 p 和 1-p,请你实现一个函数,使得返回 01 概率一样。
2 0

海报分享

给一个函数,返回 0 和 1,概率为 p 和 1-p,请你实现一个函数,使得返回 01 概率一样。

在网上看到百度拼多多的面试题,下面这道题是一面的笔试题。

题:给一个函数,返回 0 和 1,概率为 p 和 1-p,请你实现一个函数,使得返回 01 概率一样。

思路:连续调用两次基础随机函数,那么有四种结果:

1、 00概率为p*p;

2、 11概率为(1-p)*(1-p);

3、 10概率为(1-p)*p;

4、 01概率为p*(1-p) 可以看到结果3和结果4是概率相等的

public class SameProbability {
     * 生成0的概率为p,生成1的概率为1-p。
     * 生成0 1 概率为p(1-p)
     * 生成1 0概率为(1-p)p
     * 则相等的
    public static int getZeroOrOneSameProbability() {
        Random ra =new Random();
        while (true) {
            int i = ra.nextInt(10);
            int j = ra.nextInt(10);
            if (i == 0 && j == 1) {
                return 1;
            }else if (i == 1 && j == 0) {
                return 0;
            }else{
                continue;
    public static void main(String[] args) {
        int result = getZeroOrOneSameProbability();
        System.out.println(result);
}
文章分享自微信公众号:
国产程序员

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

原始发表时间: 2019-04-09
如有侵权,请联系 cloudcommunity@tencent.com 删除。