论坛首页 综合技术论坛

一道逻辑题:我拿走了哪个数

浏览 6175 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2014-08-05  
二分法不行,由于数据不是连续的;
异或方法可行;
如果可以当作连续的话,应该是判断相邻两个是否相差1最为方便
0 请登录后投票
   发表时间:2014-08-06  
rmzdb 写道
jahu 写道
rmzdb 写道
zhang_guiren 写道
rmzdb 写道
jahu 写道
需要这么复杂吗?
使用链表的数据格式,
用二分就简单的能找到这个数了,



你真搞笑   二分?  都不知道寻找的目标   怎么二分啊  

二分法可以,第一次取出1-5000个数字,放入数组,看其长度是否等于5000,不等于则继续二分1-5000,等于则取5000-10000放入数组,重复上述过程



这样做  也是基于连续数字的  前提:就是中间值一定是前一半 后一般的  这样确实可以。

谁说要基于连续数字啊,二分,简单下,效率不是最高,但是数据量大之后效率是最高的一个思路



你告诉我怎么确定中间值???   怎么取这个1-5000个数字啊   既然你都是确定是1-5000个数字,为什么长度还不确定是5000呢?

你要知道是长度的中间而不是数值的中间值
0 请登录后投票
   发表时间:2014-08-06  
smiky 写道
rmzdb 写道
jahu 写道
rmzdb 写道
zhang_guiren 写道
rmzdb 写道
jahu 写道
需要这么复杂吗?
使用链表的数据格式,
用二分就简单的能找到这个数了,



你真搞笑   二分?  都不知道寻找的目标   怎么二分啊  

二分法可以,第一次取出1-5000个数字,放入数组,看其长度是否等于5000,不等于则继续二分1-5000,等于则取5000-10000放入数组,重复上述过程



这样做  也是基于连续数字的  前提:就是中间值一定是前一半 后一般的  这样确实可以。

谁说要基于连续数字啊,二分,简单下,效率不是最高,但是数据量大之后效率是最高的一个思路



你告诉我怎么确定中间值???   怎么取这个1-5000个数字啊   既然你都是确定是1-5000个数字,为什么长度还不确定是5000呢?

你要知道是长度的中间而不是数值的中间值

什么都不说了,请他贴代码出来。是否可行一运行就知道
0 请登录后投票
论坛首页 综合技术版

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