class Max {
private Max() {
}
public static <T extends Comparable> T maximumOfArrayElements(T[] a){
T max = a[0];
for(T x : a){
if(max.compareTo(x) < 0){
max = x ;
}
}
return max;
}
}
class Sample {
public static double max(double[] array, int start, int end){
if(start+1==end){
return array[start] > array[end] ? array[start] : array[end];
}
int mid = (start + end) / 2;
double a = max(array, start, mid);
double b = max(array, mid , end);
return a > b ? a : b;
}
public static void main(String arg[]){
double [] data = new double[100];
Double [] Data = new Double[100];
for(int i=0;i<100;i++)
Data[i]=data[i]=Math.random();
System.out.println("max:"+Max.maximumOfArrayElements(Data));
System.out.println("max:"+max(data, 0, 99));
}
}