Suppose a sorted array is rotated at some pivot unknown to you beforehand.
(i.e., 0 1 2 4 5 6 7
might become 4
5 6 7 0 1 2
).
Find the minimum element.
You may assume no duplicate exists in the array.
class Solution { public: int findMin(vector<int> &num) { int n = num.size(); if(n==1) return num[0]; int high = n-1; int low = 0; int max = 0; int mid; while(low <= high) { mid = (low+high)/2; if(num[mid] < num[max]) high--; else { max = mid; low++; } } if(max == n-1) return num[0]; else return num[max+1]; } };
LeetCode--Find Minimum in Rotated Sorted Array
原文地址:http://blog.csdn.net/shaya118/article/details/42746547