java找出数组指定范围中的最大值
public class Test {
public static void main(String[] args) {
int[] aa = {1,1,5,6,1111,44444,151,2,5,2,3,Integer.MAX_VALUE};
int res = getMax(aa);
System.out.println(res);
}
public static int getMax(int[] arr){
return recursion(arr,0, arr.length-1);
}
public static int recursion(int[] arr ,int L ,int R) {
if(L == R){
return arr[L];
}
int mid = L +((R - L)>>1);//中点
int leftMax = recursion(arr,L,mid);//左边最大值
int rightMax = recursion(arr,mid+1,R);//右边最大值
return Math.max(leftMax,rightMax);//左右比较,返回最大值
}
}