用Rand7()实现Rand10()
参考了题解区的大佬题解:
class Solution extends SolBase {
public int rand10() {
int num = (rand7() - 1) * 7 + rand7();
while(num > 40){
num = (rand7() - 1) * 7 + rand7();
}
//进行了优化
return 1 + num % 10;
}
}就是记住 如果用小的数去随机生成大的数,利用公式:(randn() - 1) * n + randn()


查看10道真题和解析