题目描述:
给定一个无序的数组,找出数组在在排序之后,相邻元素之间最大的差值。
如果数组元素个数小于2,则返回0.
示例1:
输入:[3,6,9,1]
输出:3
解释:排序后的数组是[1,3,6,9],其中相邻元素(3,6)和(6,9)之间都存在最大差值3.
示例2:
输入:[10]
输出:0
解释:数组元素个数小于2,因此返回0.
class Solution(object):
def maximumGap(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
#思路:先对特殊情况进行判断;将nums进行排序,依次遍历,记录当前最大差值
if len(nums) <= 1:
return 0
nums = list(sorted(nums))
res = -1
for i in range(1,len(nums)):
if(nums[i]-nums[i-1] > res):
res = nums[i] - nums[i-1]
return res
菜鸟一枚,代码仅供参考,如有问题,望指正~