470.用Rand7()实现Rand10()
已有方法 rand7
可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10
生成 1 到 10 范围内的均匀随机整数。
不要使用系统的 Math.random()
方法。
示例 1:
输入: 1 输出: [7]
示例 2:
输入: 2 输出: [8,4]
示例 3:
输入: 3 输出: [8,1,10]
提示:
rand7
已定义。- 传入参数:
n
表示rand10
的调用次数。
进阶:
rand7()
调用次数的 期望值 是多少 ?- 你能否尽量少调用
rand7()
?
// The rand7() API is already defined for you.
// int rand7();
// @return a random integer in the range 1 to 7
class Solution {
public:
int rand10() {
while (true) {
int num = (rand7() - 1) * 7 + rand7();
if (num <= 40) return num % 10 + 1;
}
}
};
470.用Rand7()实现Rand10()相关推荐
- leetcode 470. 用 Rand7() 实现 Rand10()
难度:中等 频次:55 题目: 给定方法 rand7 可生成 [1,7] 范围内的均匀随机整数,试写一个方法 rand10 生成 [1,10] 范围内的均匀随机整数. 你只能调用 rand7() 且不 ...
- LeetCode 470. 用 Rand7() 实现 Rand10()(随机概率)
1. 题目 已有方法 rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10 生成 1 到 10 范围内的均匀随机整数. 不要使用系统的 Math.random() 方法. ...
- 【LeetCode笔记】470. 用Rand7()实现Rand10()(Java、概率)
文章目录 题目描述 代码 & 思路 更新版 三刷 - 极简版 题目描述 貌似是比较高频的面试题目啊,有学概率论内味了(讲道理我概率论学得不好) 代码 & 思路 先用Rand7实现Ran ...
- 概率p输出1,概率1-p输出0,等概率输出0和1 【LeetCode】470. rand7()构造rand10() 系列变形(新浪、字节面试题)
目录 1. 等概率输出0和1 1.1 题目描述 1.2 解题思路 & 代码 2. 以 1/N 的概率返回 1~N 之间的数 3. 给定函数rand5() 构造rand7() 或 rand7() ...
- [Leedcode][JAVA][第470题][Ran7()实现Rand10()]
[问题描述][Leedcode][JAVA][第470题][Ran7()实现Rand10()] 已有方法 rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10 生成 1 到 ...
- 【转】 已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10() 随机1~10...
转自:http://blog.csdn.net/furturerock/article/details/6850634 View Code 1 int rand7() 2 { 3 return ran ...
- 【数据结构与算法】之深入解析“用Rand7()实现Rand10()”的求解思路与算法示例
一.题目要求 给定方法 rand7 可生成 [1,7] 范围内的均匀随机整数,试写一个方法 rand10 生成 [1,10] 范围内的均匀随机整数. 你只能调用 rand7() 且不能调用其他方法,请 ...
- Rand7()实现Rand10()
这道题选自LeetCode470题,启发自题解,这道题在阿里的实习中出现过,解法基本是数学概率论中的知识. 当我们用random10实现random7的时候,我们根据概率论的知识知道random10会 ...
- 【每天学点算法题10.16】由rand7()生成rand10()
题目描述:给你一个函数rand7(),它可以等概率地生成1~7之间的随机数,使用这个函数rand7(),生成一个函数rand10(),使其能够等概率地生成1~10之间的随机数. 解决办法:舍去法.我们 ...
- 【经典题目】rand7()生成rand10()——随机数算法
随机数算法的转换 从小数向大数映射 这一类的算法主要分为两种,一种是从小数映射向大数,rand7()-->rand10().另外一种是从大数映射向小数rand10()-->rand7() ...
最新文章
- mysql事务,START TRANSACTION, COMMIT和ROLLBACK,SET AUTOCOMMIT语法
- Oracle数据库的trigger(触发器)
- 04-图像的阈值操作
- ESLint 在中大型团队的应用实践
- linux部分基础命令总结,Linux常用基础命令总结
- D - Windows Message Queue
- 造成OOM的原因有哪几种?
- HaLow技术提升车载Wi-Fi质量 促进车联网发展
- 树莓派上搭建ActiveMQ
- placeholder在不同浏览器下的表现及兼容方法 placeholder兼容
- JavaCV音视频开发宝典:录制vp8和vp9编码的webm格式视频,以mp4转webm为例
- mysql schemata_mysql8 参考手册-INFORMATION_SCHEMA SCHEMATA表
- 记:疯狂的程序员 (连续n天写n个代码)
- LODOP打印控件使用问题总结
- 数据结构之冒泡排序算法(图解+分析+代码调优)
- spring boot微服务项目搭建
- 为什么用样本方差估计总体方差的统计量除以n-1
- NodeJs string与base64互转
- 国外电商网站snapdeal爬取流程
- mac itunes 未能连接到服务器,iPhone 11无法在Mac上连接到iTunes吗?解决方法