Leetcode 153は、ソートされた配列の回転の最小値を探します

アレイは、以前は未知点で回転させたに従って昇順と仮定する。

(例えば、配列[0,1,2,4,5,6,7]は[4,5,6,7,0,1,2]になることができます)。

最小の要素を検索します。

あなたは、配列内の要素のない重複がないと仮定することができます。

例1:

入力:[3,4,5,1,2]
出力:1
例2:

入力:[4,5,6,7,0,1,2]
出力:0

<1>二分法

クラス解決{
 パブリックINT findMin(ベクトル< INT >&NUMS)
    { 
        場合(nums.size()== 0リターンNULL。
        int型 MIN_NUM = INT_MAX。
        int型ミドル= 0 ;
        int型は =左0をint型の右= nums.size() - 1 ;
        しながら、(左< 右)
        { 
            中央 =(右、左)+左/ 2 もし(NUMS [左] <= NUMS [中央])// 左边升序
            { 
                MIN_NUM = 分(NUMS [左]、MIN_NUM)。 +中間= 1 
            }     
             // 右边升序
            { 
                MIN_NUM = 分(MIN_NUM、NUMS [中央])。 = ミドル。
            } 
            COUT <<左<< " || " <<右<< ENDL。
        } 
        戻り分(MIN_NUM、NUMS [左])。
    } 
}。

おすすめ

転載: www.cnblogs.com/renzmin/p/12057739.html