旋转数组的最小数字
#include<stdio.h>
#include<stdlib.h>
int find(int *arr,int sz)
{
#include<stdlib.h>
int find(int *arr,int sz)
{
int left=0;int right=sz-1;int mid=(left+right)/2;
while (arr[left]>=arr[right]){
if (right-left==1){
mid=right;
break;
}
if (arr[mid]<arr[right]){
right=mid;
}else if (arr[mid]>arr[left]){
left=mid;
}
mid=(left+right)/2;
}return arr[mid];
}
int main()
{
int arr[]={4,5,6,7,1,2,3};int sz=sizeof(arr)/sizeof(arr[0]);int ret=0;
ret=find(arr,sz);
printf("%d\n",ret);
system("pause");
return 0;
}