把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输入旋转数组的最小元素。例如数组{3,4,5,1,2}该数组的最小值为1
<span style="font-family: Arial, Helvetica, sans-serif;">#include <iostream></span>
using namespace std;
int minNum(int *number,int length)
{
if(number==NULL || length<=0)
return 0;
int head = 0;
int end = length-1;
int mid;
while(number[head]>=number[end])
{
mid = (end+head)/2;
if(number[mid]-number[mid-1]<0 || mid==0)
break;
if(number[mid]>=number[head])
head = mid;
if(number[mid]<=number[end])
end = mid;
}
return number[mid];
}
int main()
{
int number[]={3,4,5,1,2};
cout<<minNum(number,5)<<endl;
return 0;
}