编程语言
首页 > 编程语言> > 分治求数组最大值JAVA实现

分治求数组最大值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