leetcode题解(十二)--最大间距

给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。

如果数组元素个数小于 2,则返回 0。

示例 1:

输入: [3,6,9,1]
输出: 3
解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。
示例 2:

输入: [10]
输出: 0
解释: 数组元素个数小于 2,因此返回 0。

    let maxSize = (arr) => {
      if (arr.length < 2) {
        return 0
      }
      let max = 0
      for (let i = arr.length - 1; i >= 0; i--) {
        for (let j = 0; j < i; j++) {
          if (arr[j] > arr[j + 1]) {
            [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]
          }
        }
        if (i < arr.length - 1) {
          max = (arr[i + 1] - arr[i]) > max ? arr[i + 1] - arr[i] : max
        }
      }
      console.log(max)
      return max
    }
    var arr = [1, 100000]
    maxSize(arr)

 

你可能感兴趣的:(LeetCode)