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

代碼

class Solution {
public:
    int findMin(vector<int> &num) {
        int left = 0, right = num.size() - 1;
        if (num[left] > num[right]) {
            while (left != (right - 1)) {
                int mid = (left + right) / 2;
                if (num[left] < num[mid]) left = mid;
                else right = mid;
            }
            return min(num[left], num[right]);
        }
        return num[0];
    }
};
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 今天看了一部微電影:《另一只鞋子》。短短四分鐘的電影,卻也拍出了一個完整的故事,并拍出了人與人之間的真情。故事很短...
    huifang963閱讀 1,668評論 0 2
  • TensorFlow是一個谷歌在2015年開源的機器學習庫 TensorFlow? is an open sour...
    草水唐閱讀 1,277評論 1 1
  • 因工作關系,日常會接觸很多的女性顧客,這其中大半都已步入婚姻,亦有少許特立獨行,在本該養育孩子的年紀依然...
    A_范范閱讀 178評論 0 0
  • 學習音標后的活學活用的趣事。 昨晚上,睡覺時,我家快四歲的寶貝突發了一個“屁吃”的單詞,我大為不解...
    Nicole魚_7d2a閱讀 163評論 1 2
  • 祝瀾 焦點網絡中8 分享187天 2018-7-2 今天下午進行了本周的第一次約練,角色是來訪者。和另兩位老師...
    祝瀾閱讀 89評論 0 0