leetcode-164、最大间距
2024-09-30 21:03:20
export default (arr) => {
// 如果数组长度小于2返回0
if (arr.length < 2) {
return 0
}
// 排序
arr.sort()
// 用它来保存相邻元素的最大差值
let max = 0
for (let i = 0, len = arr.length - 1, tem; i < len; i++) {
tem = arr[i + 1] - arr[i]
if (tem > max) {
max = tem
}
}
return max
}
测试用例
import sort from '../../code/sort/lesson3'
test('input1', () => {
expect(sort([3, 6, 9, 1])).toBe(3)
})
test('input2', () => {
expect(sort([10])).toBe(0)
})
更优解
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('input1', () => {
expect(sort([3, 6, 9, 1])).toBe(3)
})
test('input2', () => {
expect(sort([10])).toBe(0)
})
test('input3', () => {
expect(sort([13, 16, 19, 1])).toBe(12)
})
最新文章
- iOS 开发总结(下)
- 再探.NET的PE文件结构(安全篇)
- angular $http 与form表单的select
- python之面向对象编程
- Hibernate正向工程(实体类-->;数据库)
- C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别 (转)
- PHP 设计模式 笔记与总结(5)PHP 魔术方法的使用
- 【web】 亿级Web系统搭建——单机到分布式集群
- JavaScript网站设计实践(一)网站结构以及页面效果设计
- js获取几个月前,几周前时间。
- C陷阱与缺陷(四)
- Fiddler扩展之脚本录制
- 怎么获取smtp服务器用户帐号和密码
- 【Qt编程】基于Qt的词典开发系列<;五>;--无边框窗口的拖动
- iview 无法缓存的问题
- 初见TensorFlow :知其所以然
- 线程安全单例最佳实践,C#中的Lazy是如何保证线程安全的
- rails中 flash 和 flash.now的区别
- WPF 自定义命令 以及 命令的启用与禁用
- 使用dos2unix批量转换文件