回転されソートされた配列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 ; } }