递归其实就是一个复杂的问题简单化的思想,把简单的问题解决了,然后就可以将又简单问题组合而成的复杂问题解决。
public static int process(int[] arr,int left,int right) {
int mid = left + ((right-left)>>1);
if(left == right) {
return arr[left];
//当一个范围内只有一个数时就直接返回
}
int leftMax = process(arr,left,mid);//分别取左右两边的最大值
int rightMax = process(arr,mid+1,right);
return Math.max(leftMax, rightMax);//结果是两边的最大值
}