论坛首页 Java企业应用论坛

程序员2007年3月刊上的一道算法题

浏览 14207 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-05-09  
14!等于14+13.。。。+1
每次步长+1是为了抵消上一次投掷浪费的那一次
是为了求得答案的稳定性

100%n+n-2在步长一致的情况下,答案是18-10的区间
利用步长可以把答案稳定在14附近

明白了么?
0 请登录后投票
   发表时间:2007-05-11  
map.get, 不是要object 做para 吗?怎么给了个int?

还有, if(s!=null) return s; 这个方法不是要求返回int?

0 请登录后投票
   发表时间:2007-05-11  
皑皑...
楼上大概没用过JDK1.5了.
0 请登录后投票
   发表时间:2007-05-11  
要是面试题,面试官嘿嘿冷笑到,玻璃围棋子3-4楼砸下来就已经挂了,这是常识,所以两次就够了。那就郁闷了 
0 请登录后投票
   发表时间:2007-05-11  
我说的就是既然14!已经是最优的解了, 楼主怎么会来那么多的最优解?对于每一层楼来说概率都是相同的啊
0 请登录后投票
   发表时间:2007-05-11  
.........
楼上没看我写的代码把?
代码打印出来的是最优策略,最优解(最小测试次数)只有一个,但达到这个解的策略不止一个.
0 请登录后投票
   发表时间:2007-05-11  
开始没有仔细看楼主的说明, 只是感觉说的有点麻烦, 好像复杂化了, 原来是我没有注意到,楼主是得出很多的不同策略来实现最优解。这样是很好, 不过如果只是想解决问题, 直接求k!=n中的最接近的k值好像很方便,不用那么麻烦咯, ^_^
0 请登录后投票
   发表时间:2007-05-11  
算法明显错误:
   按你那么算: 3楼高的 也要测试2次?
   最多 1次就够了吧       


不懂不要装懂
0 请登录后投票
   发表时间:2007-05-11  
楼上牛,3楼怎么一次测出来?洗耳恭听~
0 请登录后投票
   发表时间:2007-05-12  
嗯嗯~~楼主的思想简单的来说就是一颗找大范围,剩下一颗找精确的楼层
找大范围的可以一次走10层,20层,然后从最后一次不碎的地方开始用剩下的那颗遍历。
0 请登录后投票
论坛首页 Java企业应用版

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