Redian新闻
>
来个面经:unfair coin問題
avatar
来个面经:unfair coin問題# JobHunting - 待字闺中
t*r
1
有一个unfair的coin,出现head的概率是1/4, 出现tail的概率是3/4,有个对应的返
回值为boolean的function,当是head的时候返回true,是tail返回false,现在,你如
何利用原有方程,再写一个function,使得返回true和false的概率一样。
avatar
Z*0
2
Naive的方法。
P(Head, Tail) = P(Tail, Head),
连续抛两次硬币,出头H,T,返回True, 出现T,H,返回False。其它情况,继续尝试。
DS面试题目?
avatar
d*t
3
这样的话效率只有一半了,因为你扔两次才能有一个结果。

试。

【在 Z**0 的大作中提到】
: Naive的方法。
: P(Head, Tail) = P(Tail, Head),
: 连续抛两次硬币,出头H,T,返回True, 出现T,H,返回False。其它情况,继续尝试。
: DS面试题目?

avatar
m*s
4
Tail出现的时候以1/3的概率改写为head

有一个unfair的coin,出现head的概率是1/4, 出现tail的概率是3/4,有个对应的返回
值为boolean的function,当是head的时候返回true,是t........

【在 t**r 的大作中提到】
: 有一个unfair的coin,出现head的概率是1/4, 出现tail的概率是3/4,有个对应的返
: 回值为boolean的function,当是head的时候返回true,是tail返回false,现在,你如
: 何利用原有方程,再写一个function,使得返回true和false的概率一样。

avatar
e*0
5
用一个 tmp计数
出tail的时候,连续三次里匀一次给head,当作是出的head,这样本来四次里面三次
tail一次head,被均匀成了2head,两tail
avatar
z*o
6

试。

【在 Z**0 的大作中提到】
: Naive的方法。
: P(Head, Tail) = P(Tail, Head),
: 连续抛两次硬币,出头H,T,返回True, 出现T,H,返回False。其它情况,继续尝试。
: DS面试题目?

avatar
l*s
7
Try this:
return new Random().Next(1, 4) == 1 ? !unfairCoin() : unfairCoin();
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。