|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
今天的题目:
给定一个未经排序的数组,请找出这个数组排序之后的两个相邻元素之间最大的间距。
注意:如果数组中少于 2 个元素,返回 0。
示例 1:
输入:[1, 9, 2, 5]
输出:4
解释:排序之后的数组是 [1, 2, 5, 9],最大的间距是在 5 和 9 之间。 示例 2:
输入:[1]
输出:0
解释:数组中的元素少于 2 个。
 欢迎大家一起答题! 
本帖最后由 阴阳神万物主 于 2019-12-25 21:17 编辑
抢沙发
代码: - def solve(st:'list 只含整型数据的')->int:
- le = len(st)
- if le < 2:
- return 0
- st.sort()
- try:
- return max([st[x]-st[x-1] for x in range(1,le)])
- #下面的是为了防止超出内存限制的情况用的应急代码
- except MemoryError:
- m = 0
- for x in range(1,le):m = max(m,st[x]-st[x-1])
- return m
- if __name__ == '__main__':
- print('示例1 输出:',solve([1, 9, 2, 5]))
- print('示例2 输出:',solve([1]))
复制代码
|
|