间距(Python3)"/>
力扣:164. 最大间距(Python3)
题目:
给定一个无序的数组
nums
,返回 数组在排序之后,相邻元素之间最大的差值 。如果数组元素个数小于 2,则返回0
。您必须编写一个在「线性时间」内运行并使用「线性额外空间」的算法。
来源:力扣(LeetCode)
链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
示例:
示例 1:
输入:nums = [3,6,9,1]
输出:3
解释:排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。
示例 2:输入:nums = [10]
输出:0解释:数组元素个数小于 2,因此返回 0。
解法:
先排序,返回前后元素差的最大值。
代码:
class Solution:def maximumGap(self, nums: List[int]) -> int:nums.sort()result = 0if len(nums) > 1:nums_pre, nums_last = nums[:-1], nums[1:]result = max(result, max(map(lambda x: x[1] - x[0], zip(nums_pre, nums_last))))return result
更多推荐
力扣:164. 最大间距(Python3)
发布评论