LintCode Classical Binary Search 二分法求助 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
x18960
V2EX    Java

LintCode Classical Binary Search 二分法求助

  •  
  •   x18960 Jul 28, 2017 2953 views
    This topic created in 3195 days ago, the information mentioned may be changed or developed.

    这道题,我自己写的代码 直接查找并没有二分法 通过了,但是并不符合题目要求二分法
    然后想学习这个方法
    于是就百度
    http://m.blog.csdn.net/sinat_32547403/article/details/74931544
    LintCode 二分查找题总结 - 软件开发其他 - 红黑联盟
    http://www.2cto.com/kf/201608/534039.html

    这两个答案都是 boom 的,
    我学习半天这个方法 然后发现有问题.并不能查询到位置,
    例如
    solution.findPosition(new int[]{11,3,4,11,1,6,3,4},1);
    这样的就 boom

    当然 百度两种方法 排序完肯定能用,
    当然 如果排序了 也不用他们那么费劲. 直接取中间数比较就行吧,也不用加 start 值

    所以小弟在万能的 V2EX 求助一个 不用排序的这道题答案
    ps:最近被"本科"字眼打击太大,所以想闲暇时间学学这些简单的算法

    10 replies    2017-08-03 07:55:58 +08:00
    rocksolid
        1
    rocksolid  
       Jul 28, 2017
    你还是先看下书吧
    这两个都写的很清楚针对有序数列,你非要拿个无序的来试
    DANG
        2
    DANG  
       Jul 28, 2017
    mymail 头像哈哈哈
    zetary
        3
    zetary  
       Jul 28, 2017 via Android
    …高中生都知道二分能用是因为单调
    yhf
        4
    yhf  
       Jul 28, 2017
    你给的这个数组既不是 sorted 也不是 rotated sorted, 怎么 binary search?
    lonenol
        5
    lonenol  
       Jul 28, 2017
    你要能发明一种方法用 lgn 的时间复杂度在无序数组里找到一个指定的数,下届图灵奖可能就颁给你了...这个发明可能会改变社会..
    x18960
        6
    x18960  
    OP
       Jul 28, 2017
    知道了, 题目自身就有限制,所以我审题不清 ,不过 我百度到的这两种写法 真的不咋高明....
    x18960
        7
    x18960  
    OP
       Jul 28, 2017
    @DANG 那是 QQ 邮箱图标
    em2046
        8
    em2046  
       Jul 28, 2017
    那用斐波那契查找?
    em2046
        9
    em2046  
       Aug 2, 2017
    @x18960 #6 除了使用斐波那契数列替代 /2 中点
    还可以把==与<的 2 次比较改成一次比较,不考虑等于的情况 减少一次比较
    虽然最好情况下变慢了,但是可以提升最坏情况时的效率
    x18960
        10
    x18960  
    OP
       Aug 3, 2017 via iPhone
    @em2046 好的,我研究一下。这个斐波那契数我都还不知道
    About     Help     Advertise     Blog     API     FAQ     Solana     998 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 97ms UTC 19:45 PVG 03:45 LAX 12:45 JFK 15:45
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86