国外某游戏公司程序员笔试第一题 —— 摔xbox

shines77 2005-02-04 06:21:48
You have been given 2 special, extremely rugged Xboxes. You are in an office building that is 100 stories high. Using the fewest possible number of drops from windows in your office building, determine the highest floor you can drop an Xbox from and have it survive: for example, they might be able to take the drop from the 30th floor, but not the 31st. You can break both Xboxes in your search. State the worst case number of drops needed and explain how you arrived at that answer.

你在一幢100层的办公楼里上班,现在给你两台xbox(已经特意捆绑包扎好),要求你用尽可能少的试摔次数来判断xbox摔不坏的最高楼层层数。比方说,从30层丢下来没问题,但从31层丢下来就不保了。在摸索过程中,允许把两台xbox都砸烂。

注:100层内必定摔坏(即摔坏的最大层数<=100层),不是脑筋急转弯,而且有且只有2台XBox

详细解释你的答案和思路。
...全文
2273 85 打赏 收藏 转发到动态 举报
写回复
用AI写文章
85 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanweizhouricher 2005-05-12
  • 打赏
  • 举报
回复
mark
hj5182001 2005-05-12
  • 打赏
  • 举报
回复
恩,明白了
zhangxu421 2005-05-11
  • 打赏
  • 举报
回复
mark
coolice_2004 2005-05-11
  • 打赏
  • 举报
回复
mark
sjjf 2005-03-23
  • 打赏
  • 举报
回复
mark
broadarms 2005-03-23
  • 打赏
  • 举报
回复
我来个通俗点好理解的:

假设你用最少次数试出楼层的第一次摔是在第n层,
如果摔坏,从第一层开始到第n-1层依次摔,最多1+(n-1)=n次;
如果没坏,你就会想:第二个选择的楼层(假设为m)如果摔坏的话,将从n+1层开始依次到m-1层摔m-1-(n+1)+1=m-n-1次。再加上前面两次选择的楼层已经摔了2次了,所以第二次选择的楼层的最大次数为2+m-n-1=m-n+1次,而这个次数应该是跟第一次选择楼层的次数相等的,否则我们一开始的假设就不成立了,于是有n=m-n+1,推出m=2n-1。
类推:第三次应选在楼层(2n-1)+(n-2)=3n-3.
第四次。。。。。。。。。。。4n-6.
。。。。。。。
这样便出来了数列:n,2n-1,3n-3,4n-6,5n-10,6n-15,7n-21,8n-28...//哈哈,大家都知道是什么问题了吧!

其实这个问题可以看成是二叉树遍历,用最少的次数访问所有的节点.
这个二叉树满有意思的,有兴趣的可以自己实现一下.



lxp981818 2005-03-18
  • 打赏
  • 举报
回复
happy__888([顾问团]寻开心)
强!
xdspower 2005-03-17
  • 打赏
  • 举报
回复
其实如果真有这样的题,还要考虑工程技术的能力,也就是材料,其实大家该有一些常识,对于电子产品好像有一个什么安全高度的自由坠落标准(在一般情况下,低于这个标准的高度就可以跳过不考虑了,出现这样的问题该由质量监察部门去管了。),还有Xbox什么算坏了(功能的?外观的?)
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
当然纯粹从趣味上来说还是很好的一个题。
mymyal123 2005-03-17
  • 打赏
  • 举报
回复
学习
ufosr 2005-03-15
  • 打赏
  • 举报
回复
应该是折半查找吧
panxiongfei 2005-03-14
  • 打赏
  • 举报
回复
gz
矜持的射手 2005-03-14
  • 打赏
  • 举报
回复
学习下!
jettylee 2005-03-13
  • 打赏
  • 举报
回复
其实是一个不对称的排序二叉树 的查询过程
条件一:该树有100个节点 先序遍历有序排列
条件二:在查询过程中最多查询两次左子树
求根节点
dylin 2005-03-12
  • 打赏
  • 举报
回复
收藏
Fifa19972003 2005-03-11
  • 打赏
  • 举报
回复
现在终于明白什么是数学了
ywyw 2005-03-11
  • 打赏
  • 举报
回复
折半查找法,不过具体实现细节还没想好
ywyw 2005-03-11
  • 打赏
  • 举报
回复
收藏,好帖
normanking 2005-03-10
  • 打赏
  • 举报
回复
太强了
这题比较经典
tudou614 2005-03-08
  • 打赏
  • 举报
回复
UP
thuers 2005-03-08
  • 打赏
  • 举报
回复
qiang
加载更多回复(65)

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧