# 最大间距

给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。

如果数组元素个数小于 2,则返回 0。

示例 1:

输入: [3,6,9,1]
输出: 3
解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。

示例 2:

输入: [10]
输出: 0
解释: 数组元素个数小于 2,因此返回 0。

说明:

## template ```python class Solution(object): def maximumGap(self, nums): if len(nums) < 2: return 0 min_val, max_val = min(nums), max(nums) if min_val == max_val: return 0 n = len(nums) + 1 step = (max_val - min_val) // n exist = [0 for _ in range(n + 1)] max_num = [0 for _ in range(n + 1)] min_num = [0 for _ in range(n + 1)] for num in nums: idx = self.findBucketIndex(num, min_val, max_val, n) max_num[idx] = num if not exist[idx] else max(num, max_num[idx]) min_num[idx] = num if not exist[idx] else min(num, min_num[idx]) exist[idx] = 1 res = 0 pre = max_num[0] for i in range(1, n + 1): if exist[i]: res = max(res, min_num[i] - pre) pre = max_num[i] return res def findBucketIndex(self, num, min_val, max_val, n): return int((num - min_val) * n / (max_val - min_val)) ``` ## 答案 ```python ``` ## 选项 ### A ```python ``` ### B ```python ``` ### C ```python ```