不能调整元素位置,复杂度为O(n)。
public static int find(int[] a){
assert(a != null);
assert(a.length > 1);
int max = a[1] - a[0];
int min = a[1] > a[0] ? a[0] : a[1];
for(int i=2; i<a.length; i++){
if(a[i] - min > max){
max = a[i] - min;
}
if(a[i] < min){
min = a[i];
}
}
return max;
}