Find Minimum in Rotated Sorted Array
2015-04-02 10:33 笨笨的老兔子 阅读(137) 评论(0) 收藏 举报一个有序数组被切成两段之后进行了交换得到一个新数组,求新数组中最小的数字
(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).
思路:根据mid的大小就可以选择到底是head=mid还是tail=mid
class Solution {public:int findMin(vector<int> &num) {int head = 0, tail = num.size() - 1;while (head < tail){int mid = head + (tail - head) / 2;if (num[mid] > num[tail] )head = mid+1;else if (num[mid] < num[tail])tail = mid;else{tail--;}}return num[head];}};
                    
                
                
            
        
浙公网安备 33010602011771号