递归求数组最大值
/**
* 使用递归当方式求数组中最大的值
*/
public class DiGuiGetMax {
public static int getMax(int[] a,int L,int R) {
if (L==R){
return a[L];
}
int mid = (L+R)/2;
int leftMax=getMax(a,0,mid);
int rightMax=getMax(a,mid+1,R);
return Math.max(leftMax,rightMax);
}
public static void main(String[] args) {
int[] a={4,3,2,1};
System.out.println(getMax(a,0,a.length-1));
}
}
题本身很简单,要理解递归,计算机会把递归运行的所有信息保存到一个栈内存里,包括代码运行的行数,成员变量等等