一个数组长度为n,其中n=s+t,前s个数为升序排序,后面t个数为降序排序,现要求出数组的最大值。
public static int findMaxNum(int[] arr) { if (arr == null || arr.length == 0) { return Integer.MIN_VALUE; } int start = 0; int end = arr.length - 1; while(end - start > 1) { int middle = (start + end) / 2; if (arr[middle] <= arr[middle + 1]) { start = middle; } else { end = middle; } } return Math.max(arr[start], arr[end]);}新闻热点
疑难解答