LeetCode Find Minimum in Rotated Sorted Array

链接: https://oj.leetcode.com/problems/find-minimum-in-rotated-sorted-array/


旋转数组 查找最小值

最小值肯定在旋转轴处  ,所以 用二分搜索找出旋转轴就可以了

每次取中点,前后肯定有一截数是有序,另一截是无序..取无序的那部分继续搜索即可


class Solution
{
	public:
		int findMin(vector<int> &num)
		{
			int l=0,r=num.size()-1;
			if(num[l]<=num[r])
			    return num[l];
			while(l+1!=r)
			{
				int mid=(l+r)/2;
				if(num[l]<num[mid])
				{
					l=mid;
				}
				if(num[mid]<num[r])
				{
					r=mid;
				}
			}
			return num[r];
		}
};


你可能感兴趣的:(LeetCode)