0026分治法应用之求最大最小值

来源:互联网 发布:天行加速器 for mac 编辑:程序博客网 时间:2024/05/22 07:00
 分治法就是讲大规模问题化成小的同类型问题,分开求解再合并各个解。它比直接求的比较次数要少
用分治法求最大最小值:
public static int getMax(int[] array, int i,int j) {        int Max1 = 0;        int Max2 = 0;        if (i == j) {            return Max1 = Max2 = array[j];        }else if (i == (j - 1)) {            Max1 = array[i];            Max2 = array[j];            return Max1 > Max2 ? Max1 : Max2;        }else {            int mid = (i + j) / 2;            Max1 = getMax(array, i, mid);            Max2 = getMax(array, mid, j);            return Max1 > Max2 ? Max1 : Max2;        }    }}



    
0 0