Find Minimum in Rotated Sorted Array I && II

這些題比較考驗邊界條件

Find Minimum in Rotated Sorted Array

class Solution {
public:
    int findMin(vector<int> &num) {
        int left = 0, right = num.size()-1;
        while(num[left] > num[right]){
              int mid = (left+right) >> 1;
              if(num[mid] < num[right])
                 right = mid;
              else 
                 left = mid+1;
        }
        return num[left];
    }
};


Find Minimum in Rotated Sorted Array II

class Solution {
public:
    int findMin(vector<int> &num) {
        int left = 0, right = num.size()-1;
        while( num[left] >= num[right]){
              int mid = (left+right) >> 1;
              if(num[mid] < num[right])
                 right = mid;
              else if(num[mid] > num[right])
                 left = mid+1;
             else 
                right--;
        }
        return num[left];
    }
};


發佈了79 篇原創文章 · 獲贊 5 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章