面试问题:
给定函数f(x)1/4次返回0,3/4次返回1.使用f(x)写函数g(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)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我对吗?你的解决方案是什么?(你可以使用任何语言)