九章算法面试题3 找坏球
来源:互联网 发布:女生云计算就业前景 编辑:程序博客网 时间:2024/05/16 00:52
九章官网-原文网址:
http://www.jiuzhang.com/problem/3/
题目
有12个球,1个没有砝码的天秤。其中有11个球的重量是一样的,另外1个是坏球,和其他球的重量不一样,但无法确定是轻了还是重了。请问如何用天秤称3次,就找到坏球并确定是轻了还是重了。(没有砝码的天秤只能比较出两边谁重谁轻或是重量相等,无法求得具体的重量差)
解答
将球进行编号: 1 2 3 4 5 6 7 8 9 10 11 12,分为三组:(1,2,3,4) (5,6,7,8) (9,10,11,12)
第一称:称前两组。
相等:可以知道8个球都是好的。
第二次:称(1,2,3)和(9,10,11)。
相等:12是坏球,用1和12称第三次就知道是重还是轻。
不等:9,10,11 有坏球,并且已经知道是轻还是重。第三次称9和10就可以得到结果。
不等:假设(1,2,3,4) < (5,6,7,8) (反过来的情况同理),并且知道了9,10,11,12是好球。
第二次:称(1,2,5)和(3,4,6)。
相等:7和8有一个重,称第三次即可。
不等:假设(1,2,5)<(3,4,6)(反过来类似)。说明1,2轻了,或者6重了,第三次称1,2即可。
面试官角度
一般问这个问题的公司就是想找平时喜欢研究智力题的人,或者他们公司的招聘名额很少。这是一个十分经典的智力问题。一般来说很难要求面试者在几分钟之内考虑周全。所以碰到这样的问题,知道就是知道,不知道就是不知道。不过即便不知道,比较聪明的面试者还是能够大致说出一些思路。比如一开始分成3堆,这个思路答上就会加分。如果分成2堆6个和6个,你会发现基本是解不出来的。所以这个题目纯粹是考验你是否是一个聪明的面试者或者你是不是准备面试题的时候做过了(那也说明你态度很端正)。
- 九章算法面试题3 找坏球
- 九章算法面试题67 3 sum
- 九章算法面试题28 链表找环
- 九章算法面试题71 平方根
- 九章算法面试题74 中位数
- 九章算法 | Facebook 面试题 : Backpack VI 背包算法
- 面试题之九章算法 字符串编辑距离
- 九章算法——面试题思路
- 九章算法面试题1 落单的数
- 九章算法面试题2 抄书问题
- 九章算法面试题4 索引比例
- 九章算法面试题5 有序数组合并
- 九章算法面试题6 负载均衡
- 九章算法面试题7 分层遍历二叉树
- 九章算法面试题10 赛马问题
- 九章算法面试题11 递增矩阵
- 九章算法面试题12 最大子区间/矩阵
- 九章算法面试题13 随机数生成器
- 烦得很的风格都是方式的歌深度覆盖但是公司的
- android axis2+soap 传递对象
- vim打开不同的文件
- 九章算法面试题1 落单的数
- 九章算法面试题2 抄书问题
- 九章算法面试题3 找坏球
- 九章算法面试题4 索引比例
- ubuntu下编译Opencv
- 九章算法面试题5 有序数组合并
- java基础——面向对象(一)
- ORACLE多行合并为一行(row_number,sys_connect_by_path)
- CFNetwork 网络请求方式1
- CFNetwork 网络请求2
- CFNetwrok网络请求3