美团2016校招算法题-最大差值
maximum-difference.js复制
/*
描述:
有一个长度为n的A,满足0<=a<=b<=n的A[b] - A[a]的最大值
给定数组A以及它的大小n,请返回最大差值
example:
[10, 5], 2
返回:0
要点:
b>a: 意味着数组必须是后面的元素,减去前面的
*/
let A = [10, 5, 9, 100];
function maxDiff(arr) {
let diffs = [];
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length; j++) {
diffs = diffs.concat([arr[j] - arr[i]]);
}
}
return Math.max.apply(Math, diffs);
}
maxDiff(A);
// a = 1, b = 3 满足a
// A[b] - A[a] = 100 - 5 = 95满足最大差值
大牛们的评论:朕有话说
还没有人评论哦,赶紧抢沙发!