码迷,mamicode.com
首页 > 其他好文 > 详细

最大间距

时间:2020-01-26 17:24:58      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:efault   元素   length   循环   java   info   port   turn   class   

技术图片

第一种(比较差)

export default (arr) => {
  // 如果数组长度小于2返回0
  if (arr.length < 2) {
    return 0
  }
  // 排序
  arr.sort()
  // 用它来保存相邻元素的最大差值
  let max = 0
  for (let i = 0, len = arr.length - 1, tmp; i < len; i++) {
    tmp = arr[i + 1] - arr[i]
    if (tmp > max) {
      max = tmp
    }
  }
  return max
}

第二种(利用冒泡排序)

export default (arr) => {
  if (arr.length < 2) {
    return 0
  }
  let max = 0
  let len = arr.length - 1
  let space
  for (let i = len, tmp; i > 0; i--) {
    for (let j = 0; j < i; j++) {
      tmp = arr[j]
      if (tmp > arr[j + 1]) {
        arr[j] = arr[j + 1]
        arr[j + 1] = tmp
      }
    }
    if (i < len) {
      space = arr[i + 1] - arr[i]
      if (space > max) {
        max = space
      }
    }
  }
// 处理最后没有循环处理到的
  return Math.max(max, arr[1] - arr[0])
}

最大间距

标签:efault   元素   length   循环   java   info   port   turn   class   

原文地址:https://www.cnblogs.com/ygjzs/p/12234428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!