一个数组是由一个递减数列左移若干位形成的,比如{4,3,2,1,6,5}是由{6,5,4,3,2,1}左移两位形成的,在这种数组中查找某一个数。
HANDWRITING:
int find(int a[], int start, int end, int k) {
if (start > end) return -1;
int mid = start + (end - start) / 2;
if (a[mid] == k) return mid;
if (a[mid] < k && a[start] >= k) return find(a, start, mid - 1, k);
return find(a, mid + 1, end, k);
}