js版数据结构与算法—5.6最大区间
发布日期:2021-05-06 19:38:07 浏览次数:13 分类:原创文章

本文共 970 字,大约阅读时间需要 3 分钟。

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])}

 

import sort from '../../code/sort/lesson3'test('sort:input2', () => {  expect(sort([3, 6, 9, 1])).toBe(3)})test('sort:input3', () => {  expect(sort([10])).toBe(0)})test('sort:input4', () => {  expect(sort([13, 16, 19, 1])).toBe(12)  // [1,13,16,19]})

 

上一篇:js版数据结构与算法—5.10快速排序-基础算法
下一篇:js版数据结构与算法—5.4第K个最大值(1)

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年03月30日 00时01分45秒