给定一个长度为N(N>1)的整型数组A,可以将A划分成左右两个部分,左部分A[0…K],右部分A[K+1…N-1],K可以取值的范围是[0,N-2]. 求这么多划分方案中,求左部分中的最大值减去右部分最大值的绝对值的最大是多少.
思路: 只需用数组最大值减去数组两端较小的那个值即可.
public class DemoA {
public int findMaxGap(int[] A, int n) {
int max = 0;
for (int i = 0; i < A.length; i++) {
if (A[i] > max) max = A[i];
}
int ans1 = max - A[0];
int ans2 = max - A[n - 1];
if (ans1 > ans2)
return ans1;
else
return ans2;
}
}