编程之美2.10寻找数组中的最大值和最小值扩展问题Java版

可以用分治的思想,每次返回最大的前两个值,最后比较返回的四个值,从中找出第二大的
 public static void main(String[] args) {
     
        //扩展问题 用分治的思想
        int[] num2 = searchSecondMax2(arry,0,arry.length-1);
        System.out.println("数组中第二大的数:"+num2[0]);
        
    }

 private static int[] searchSecondMax2(int[] arry, int begin, int end) {
        int[] result = new int[2];
        if(end-begin <=1){//result中由小到大排
            if(arry[begin]result_right[1]){
            if(result_left[0]result_right[0]){
                result[0]= result_left[1];
            }else{
                result[0]= result_right[0];
            }
        }
        return result;
    }

你可能感兴趣的:(编程之美笔记)