leetcode(33)は、回転ソートされた配列を検索します

検索回転ソートされた配列

問題解決のアイデア:+バイナリサーチバイナリサーチ分界点ずつ

クラスソリューション{
     公共 int型の検索(INT [] NUMS、int型のターゲット){
         int型のlen = nums.length。
        もし(LEN == 0 ){
             戻り -1 
        } 
        であれば(LEN == 1 ){
             戻り NUMS [0] ==ターゲット0:-1 
        } 
        int型の端= LEN - 2 INT = 0を起動しますint型ミッド= 0 ;
        しながら(開始<= 端){ 
            半ば   =(スタート+エンド)/ 2;
            もし(NUMS [中間]> NUMS [中間+ 1 ]){
                 破ります
            } そう であれば(NUMS [中間]> =のNUMS [開始]){ 
                起動中間+ 1 = 
            } {  =ミッド- 1 
            } 
        } 
        場合(スタート> 端){  = LEN - 1 
        } {  = ミッド。
        } 
        場合(目標== NUMS [0 ]){
             リターン0 ; 
        } そう であれば(目標<NUMS [0 ]){ 
            開始 =エンド+ 1  = LEN - 1 
        } { 
            起動 1 = 
        } 
        ながら(開始<= 端){ 
            半ば =(+端を開始)/ 2 もし(NUMS [中間] == ターゲット){
                 戻り中間と、
            } そう であれば(NUMS [中間] < ターゲット){ 
                起動中間+ 1 =  
            }他に{ 
                終了 =中旬- 1 
            } 
        } 
        戻り -1 
    } 
}

 

おすすめ

転載: www.cnblogs.com/erdanyang/p/11203496.html