标签:
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.
解题思路:典型的二分查找法.
#include<iostream> #include<vector> #include<algorithm> using namespace std; int FindMinIN(vector<int> &num,int first,int last) { if (num[first] <= num[last]) return num[first]; int mid = (first + last) / 2; if (num[mid] >= num[first]) return min(num[first], FindMinIN(num, mid + 1, last)); else return min(num[mid], FindMinIN(num, first, mid-1)); } int findMin(vector<int> &num) { return FindMinIN(num, 0, num.size() - 1); }
Find Minimum in Rotated Sorted Array
标签:
原文地址:http://blog.csdn.net/li_chihang/article/details/43602623