题目
给定一个数组arr长度为N,你可以把任意长度大于0且小于N的前缀作为左部分,剩下的作为右部分。但是每种划分下都有左部分的最大值和右部分的最大值,请返回最大的左部分最大值减去右部分最大值的绝对值。
- 先找到全局最大值,如果最大值在右部分,因为左部分第一个一定包含在所有切后的区域里,如果切后的部分有比第一个小的,一定也取不到,因为要取最大值,所以只剩第一个能够取,如果最大值在左部分同理,也只能取最后一个
function process(arr) {
const max = Math.max(...arr);
const secondMax = Math.min(arr[0], arr[arr.length - 1]);
return max - secondMax;
}