百度面试题——摸黑白球
来源:互联网 发布:centos 自动获取ip 编辑:程序博客网 时间:2024/05/01 08:09
上网查资料的时候偶然间看到一道百度的面试题,题意大概如下:
一个桶,100个黑球100个白球,每次取走两个球,如果同色则放入一个黑球,如果异色则放入一个白球。求最后只剩下一个黑球的概率。
思考过程:
一、首先排除了计算机模拟的思路,因为最后答案要求的概率,计算机模拟出的都是频率,所以这个方法肯定行不通,kill。
二、用算,当然肯定希望每次取的概率能够累加化简,做了一会儿,发现貌似不行,而且仔细一想,这不是数学题,不可能考排列组合数的计算,所以kill。
三、题目有特点,对称形式,黑球和白球的数量相同,取走放入方法相似(同色放黑球,异色放白球,初始时同色异色的概率相同),这样,答案只可能有三种:0、1、0.5,没谁了。
解题过程:
正推,分支太多,计算量太大。正难则反,逆推。如果最后要剩下一个黑球,只可能是取走两个同色球(2黑或2白),再放入一球(黑),所以,是不是所有的情况都可以化为这两种情况(2黑或2白)。待定。
寻找取球的本质,一共三种取球方式:
虽然球是这么多,但是肯定是化归成2白或2黑的形式,或者说最后肯定会化归成1黑的形式。
不能被球的数量干扰,试着去探索题目的本质,答案似乎很接近了。
正解:
如果是取2白,最后会全部变成黑球,最后只剩1黑;
如果是取2黑,最后会剩1黑,白球不变。接下来:一、如果取2白,最后全部变成黑球,最后只剩1黑;二、如果取1黑1白,等效于取走1黑,最后只剩黑球,最后只剩1黑。
如果是取1黑1白,再放入1白,等效于取走1黑,最后只剩白球。只能全部取白球,最后全部变成黑球;或者1黑1白地取,最后也是化归为全白,最后只剩2白,最后只剩1黑。
所以概率为1。
推广:
根据化归的思路,很容易推广至一般情况:
如果白球的个数是奇数(黑球数量同白球),则只剩1白球;
如果白球的个数是偶数(黑球数量同白球),则只剩1黑球。
- 百度面试题——摸黑白球
- 随机数——百度面试题
- 百度面试题——01排序
- 数据结构面试题1.2.6-Top K算法详细解析——百度面试题
- 百度面试题——蚂蚁爬杆答案
- 百度面试题——蚂蚁爬杆
- 百度面试题——捣乱分子对问题
- 百度面试题——revert函数的实现
- 百度面试题——天平称重问题
- 百度面试题——最小元素栈设计
- 百度面试题——首尾相连的珠子问题
- 百度面试题——组件依赖性问题
- 百度面试题——最大连续数字串问题
- 百度面试题——存储和维护URL问题
- 百度面试题——找出满足条件的数
- 百度面试题——裁剪网格纸
- 股票买进卖出问题—百度实习招聘面试题
- 百度面试题
- leetcode 2. Add Two Numbers C语言实现
- [kuangbin带你飞]专题八 生成树 D
- XGBoost-Python完全调参指南-介绍篇
- 三种中心化Mean Centered
- package access 包访问 RTTI 拥有最大的权限
- 百度面试题——摸黑白球
- 安卓模拟器中调试如何React Native程序
- 安装mang DB on CENT OS
- 1312 : 搜索三·启发式搜索
- [kuangbin带你飞]专题八 生成树 E
- 图数据库Neo4j入门
- angular报错
- 梯度下降优化算法总结
- wrk 压力测试