论坛首页 综合技术论坛

百度二面智力题(破碎临界层)

浏览 55405 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-10-28  
yeshaoting 写道
yawei 写道
简单的二分查找而已。

简单二分貌似得不到14次吧.至少得先分下块呀.
简单二分最坏50次,分块后再二分19次.

上块的第一层没破 ,本块的第一层破了,有可能是上块的第二层是临界点也可能本块的第一层就是临界点,你还是没办法判断出具体的临界点
0 请登录后投票
   发表时间:2011-10-28  
ansjsun 写道
弱弱的问一句..总共就两个都摔碎了...怎么二分


1.摔碎一个还有一个
2.对于只有2层作为选择,两个都摔碎了,那么答案不是显而易见吗。


我目前感觉javaeye上的人很神秘:
1.感觉很笨。
2.感觉很聪明。

不知道那个方面是装的。
0 请登录后投票
   发表时间:2011-10-28  
先分块,块先大后小,最后一块可以考虑二分
0 请登录后投票
   发表时间:2011-10-28  
  在最坏的情况下 最快是8+9次 如果第一个球每层10曾试 如果临界是89层 那么此时是最坏的 因为如果99层 是9+5 后面5是由于有两个球都好的 我可以两层两层的试 如果在最坏的情况下能找出比17次更快的 我就佩服你了 
0 请登录后投票
   发表时间:2011-10-28  
早晨睡醒不想起床,想起这道题,突然有了思路,发上来大家一起探讨,如下:
1.将楼层分割为X段,第二个球最多丢100/X次,就能找到临界层,这样就有,X*Y=100.现在的问题就转化为怎样求出这个X+Y的最小值。
2.我假设X+Y的最小值为Z。则有X+Y=Z.套用1的函数,则有X+100/X=Z.


   现在大家应该懂了我的意思了吧,其实就是求Y=100/X和X^2-ZX+100=0两个曲线的交点问题了
0 请登录后投票
   发表时间:2011-10-28  
phk070832 写道
ansjsun 写道
弱弱的问一句..总共就两个都摔碎了...怎么二分


1.摔碎一个还有一个
2.对于只有2层作为选择,两个都摔碎了,那么答案不是显而易见吗。


我目前感觉javaeye上的人很神秘:
1.感觉很笨。
2.感觉很聪明。

不知道那个方面是装的。

我看了这个解释以后还是没有明白啊
假如在50层碎了,然后应该是去25层啊,如果再碎了呢。 那就没有球了啊 怎么在继续下去啊
0 请登录后投票
   发表时间:2011-10-28  
sum=i+(100/i)
i代表分多少层, 当i为什么值的这个等式的结果最小,这个结果也就是按i分法的最坏结果, 当i=10得出最小值20次
0 请登录后投票
   发表时间:2011-10-28  
ku_sunny 写道
  在最坏的情况下 最快是8+9次 如果第一个球每层10曾试 如果临界是89层 那么此时是最坏的 因为如果99层 是9+5 后面5是由于有两个球都好的 我可以两层两层的试 如果在最坏的情况下能找出比17次更快的 我就佩服你了 

89是最坏结果 你是在第九次才能测试出89层是临界点  应该是18次把
0 请登录后投票
   发表时间:2011-10-28  
zhanghh321 写道
phk070832 写道
ansjsun 写道
弱弱的问一句..总共就两个都摔碎了...怎么二分


1.摔碎一个还有一个
2.对于只有2层作为选择,两个都摔碎了,那么答案不是显而易见吗。


我目前感觉javaeye上的人很神秘:
1.感觉很笨。
2.感觉很聪明。

不知道那个方面是装的。

我看了这个解释以后还是没有明白啊
假如在50层碎了,然后应该是去25层啊,如果再碎了呢。 那就没有球了啊 怎么在继续下去啊

应该不是要求一次就找到。题目的意思是一次丢两个。怎样才能用最少的次数找出。

 

0 请登录后投票
   发表时间:2011-10-28  
zha_zi 写道
ku_sunny 写道
  在最坏的情况下 最快是8+9次 如果第一个球每层10曾试 如果临界是89层 那么此时是最坏的 因为如果99层 是9+5 后面5是由于有两个球都好的 我可以两层两层的试 如果在最坏的情况下能找出比17次更快的 我就佩服你了 

89是最坏结果 你是在第九次才能测试出89层是临界点  应该是18次把

 

 min[maxtimes] = (x-1)+(n/x-1);其中n为楼层数。

 

0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics