#include <iostream>
using namespace std;
#define LEN 12
int FindMinInRotateArray(int *arr, int len, int *min)
{
if (arr == NULL || len <= 0 || min == NULL)
{
return -1;
}
if (len == 2)
{
*min = arr[1];
return 1;
}
int mid = len/2;
if (arr[0] < arr[mid])
{
FindMinInRotateArray(arr + len/2, len - len/2, min);
}
else
{
FindMinInRotateArray(arr, len/2 + 1, min);
}
return 1;
}
int main()
{
int a[LEN] = {3, 4, 5, 6, 7, 8, 9, 10, -1, 0, 1, 2};
int min = 0;
FindMinInRotateArray(a, LEN, &min);
cout<<"The min we've found is : "<<min<<endl;
return 1;
}