package Lecture10; public class MaxRecurse2 { public static void main(String[] args) { int[] AData= {35, 74, 32, 92, 53, 28, 50, 62}; System.out.println("Main Max: " + maxArray(0, 7, AData)); } public static int combine(int a, int b) { return ( (a >= b) ? a : b); } public static int maxArray( int i, int j, int[] Arr) { System.out.println("Max(" + i + "," + j + ")"); if ( (j - i) <= 1) { if (Arr[j] >= Arr[i]) { System.out.println(" " + Arr[j]); return Arr[j]; } else { System.out.println(" " + Arr[i]); return Arr[i]; } } else { int aa= (combine(maxArray(i, (i+j)/2, Arr), maxArray((i+j)/2+1, j, Arr))); System.out.println("Max(" + i + "," + j + ")= " + aa); return aa; } } }