难度
题目内容 给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。 如果数组元素个数小于 2,则返回 0。
题解
var maximumGap = function(nums) {
// 1. 先把length<2的情况排除:
if(nums.length < 2) return 0;
// 把数组进行一次降序排序
nums.sort((a, b) => b - a);
// 定义一个用于返回的差值
let maxGap = 0
// 给排序后的数组进行逐个计算,每次把上一个元素和下一个元素做比对,如果差值比当前maxGap大就替换
nums.reduce((a, b) =>{
const gap = a - b;
if(gap > maxGap) maxGap = gap
return b
})
return maxGap
};