码迷,mamicode.com
首页 > 其他好文 > 详细

Find Minimum in Rotated Sorted Array

时间:2015-02-07 13:09:58      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!