<バイナリ検索> 81

回転されソートされた配列IIで81件の検索

数が少ない右端の数の中央よりであれば、右のセグメントは数が最も右の数の真ん中よりも大きい場合、左半分が発注され、注文されていますときに、重複する値場合、中間値の両方が、右端の値に等しい場合、ターゲット3は左側にあってもよい、[311]及び[1131]、2例の表面が存在するであろうと右の上にあってもよく、それを行う方法を、この場合には、実際には非常に単純なプロセスである限り、それが同じであれば、それは移動し続けるように、1サイクルで左右端の値は、これまでに別の値に移動するまで、続けることができるよう

クラスソリューション{
     パブリック ブール検索(INT [] NUMS、INT ターゲット){
         int型、0 =左N = nums.length、右= N - 1 一方(左<= 右){
             int型のミッド=左+(右-左)/ 2 もし(NUMS [中期] ==ターゲット)が返す もし(NUMS [中間] < NUMS [右]){
                 場合(NUMS [中間] <ターゲット&&ターゲット<= NUMS [右])=中間+ 1左側他に右=中旬- 1 
            } そう であれば(NUMS [中間]> NUMS [右]){
                 場合(NUMS [左] <=ターゲット&&ターゲット<NUMS [中間])右=ミッド- 1 他に左=ミッド+ 1 ;
            } 他の - 権利。
        }
        リターン はfalse ;
    }
}

 

おすすめ

転載: www.cnblogs.com/Afei-1123/p/12021691.html