p148回転順序配列の最小値(リートコード153)

1:問題の解決策

このトピックは、バイナリ検索の変形です。時間:ログ(n)、スペース:O(1)

2:完全なコード例(C ++バージョンとJavaバージョン)

C ++:

クラスSolution {
 public int findMin(vector < int >&nums 
    { 
        int low = 0 ;
        int high = nums.size()- 1 ;
        while(low < high)
        { 
            int mid = low +(high-low)/ 2 ;
            if(nums [mid]> nums [high])low = mid + 1 ;
            それ以外の場合、高= 中。
        } 

        return nums [low]; 
    } 
};

Java:

クラスSolution {
         public  int findMin(int []
                nums 
        { int low = 0 ;
               int high = nums.length- 1 ;
               while(low < high)
               { 
                   int mid = low +(high-low)/ 2 ;
                   if(nums [mid]> nums [high])low = mid + 1 ;
                   それ以外の場合、高= 中。
               } 
               
               return nums [low]; 
        } 
    }

 

おすすめ

転載: www.cnblogs.com/repinkply/p/12737067.html