求个查找turn point的binary search code# JobHunting - 待字闺中t*n2013-09-17 07:091 楼[555555555555555555555555125555]能找上面这个array turn point 的BS算法. 先谢谢了.
l*n2013-09-17 07:093 楼返回数组记录turning point值和位置。static int[] turning(int[] arr) {return turning(arr, 0, arr.length);}static int[] turning(int[] arr, int i, int j) {if (j == i)return new int[] { Integer.MAX_VALUE, -1 };if (j - i == 1 || arr[j - 1] > arr[i])return new int[] { arr[i], i };int m = (i + j) / 2;if (arr[m] < arr[i]) {return turning(arr, i + 1, m + 1);} else if (arr[m] > arr[i]) {return turning(arr, m + 1, j);} else {int[] l = turning(arr, i, m);int[] r = turning(arr, m + 1, j);return l[0] <= r[0] ? l : r;}}