九章算法面试题16 01随机生成函数
2015-05-12 13:34
387 查看
九章算法官网-原文网址
http://www.jiuzhang.com/problem/16/题目
有一个01随机生成函数,rand(2),以p的概率生成1,1-p的概率生成0。请用这个生成函数设计一个等概率的01随机生成函数。解答
随机2次,可能的结果有,00, 01, 10, 11。概率分别为:(1-p)*(1-p), (1-p)*p, p*(1-p), p*p。可以发现01和10的生成概率是相等的。因此让01代表0,10代表1,如果随机出了00或者11,就再随机2次。面试官角度
本题和九章算法面试题13都是经典的随机数生成函数的题目。他们用到的一个基本思路通过多次随机构造答案所需要的等概率事件,该事件可能是生成结果的一个子集,在子集以外的结果,就重新来一次。相关文章推荐
- 每日一道算法题:Google面试题:给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数
- 九章算法面试题17 从输入流中随机取记录
- 01随机生成函数
- 【算法】给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数
- 谷歌面试题:给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数
- 九章算法面试题57 拷贝带随机指针的链表结构
- 谷歌面试题:给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数
- 九章算法面试题34 最长01子串
- C++程序员面试题 函数 生成随机密码 (二)
- 九章算法面试题34 最长01子串
- 谷歌面试题:给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数
- 数据结构算法面试题精选及整理-随机数rand7生成rand10函数
- 游戏中的随机地形生成算法(二)
- Python学习01 — 随机生成10个大写、小写字母、特殊字符
- 如何随机生成01随机字符串
- 随机生成一个 10 个元素的数组,找到 x 的倍数,并将其值修改成 0.(注意:修改数值使用回掉函数处理)
- 计算机图形学(二)输出图元_6_OpenGL曲线函数_3_椭圆生成算法
- lintcode&九章算法——Google 面试题 | 数组的度数 ? 待解决
- lintcode&九章算法——Google面试题 | 有效括号字符串 ? 待解决
- 九章算法面试题82 合并有序链表