一道面试题:
给出一个函数 f(x),它有 1/4 的概率返回 0,有 3/4 的概率返回 1。 编写一个函数 g(x) ,使其使用 f(x) 并且有 1/2 的概率返回 0,有 1/2 的概率返回 1。
我的实现是:
function g(x) = {
if (f(x) == 0){ // 1/4
var s = f(x)
if( s == 1) {// 3/4 * 1/4
return s // 3/16
} else {
g(x)
}
} else { // 3/4
var k = f(x)
if( k == 0) {// 1/4 * 3/4
return k // 3/16
} else {
g(x)
}
}
}
我对吗?你的解决方案是什么?(可以使用任何语言)