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)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章