「每日LeetCode」2021年9月5日
本文最后更新于:2023年3月19日 晚上
Lt470. 用 Rand7() 实现 Rand10()
470. 用 Rand7() 实现 Rand10()
已有方法 rand7
可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10
生成 1 到 10 范围内的均匀随机整数。
不要使用系统的 Math.random()
方法。
示例 1:
1 |
|
示例 2:
1 |
|
示例 3:
1 |
|
提示:
rand7
已定义。- 传入参数:
n
表示rand10
的调用次数。
进阶:
rand7()
调用次数的 期望值 是多少 ?- 你能否尽量少调用
rand7()
?
思路
将生成 10 分为两部分,一个是 0 或者 5,一个是 0-5。分别是 a 和 b,由是否偶数来判断 a 是 0 还是 5,所以 a 不能等于 7,同时 0-5 所以 b 不能大于 5,最后加起来返回即可。
解答
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!