分治求数组最大值JAVA实现
作者:互联网
分治思想求数组最大值
/*
* 分治法:
* 1.将问题分割为局部问题(Divide);
* 2.递归地求解局部问题(Solve);
* 3.将局部问题的解整合,解决原问题(Conquer)。
* */
public class DivideConquerDemo {
public static void main(String[] args) {
int[] arr = new int[]{1,6,8,9,2,4,6,18,3,5,7,9,2,5};
int n = arr.length;
System.out.println("数组最大的数是:" + findMax(arr, 0, n-1));
}
public static int findMax(int[] A, int l, int r){
int m = (l+r)/2;
int x, u, v;
if(l==r-1){return A[l];}
else{
u = findMax(A,l,m);
v = findMax(A,m,r);
x = Math.max(u,v);
}
return x;
}
}
标签:arr,JAVA,findMax,int,最大值,分治,数组,public 来源: https://blog.csdn.net/weixin_42887138/article/details/121291493