题解classSolution:defmaximumGap(self,nums:List[int])-int:iflen(nums)2:return0# 一些初始化max_max(nums)min_min(nums)max_gap0# 计算每个桶的长度并构建若干个桶each_bucket_lenmax(1,(max_-min_)//(len(nums)-1))buckets[[]for_inrange((max_-min_)//each_bucket_len1)]# 把数字放入对应的桶中foriinrange(len(nums)):loc(nums[i]-min_)//each_bucket_len buckets[loc].append(nums[i])# 遍历桶更新答案prev_maxfloat(inf)# 上一个桶的最大值foriinrange(len(buckets)):# 更新最大间距之前的最大间距当前桶的最小值与上一个桶的最大值的差值ifbuckets[i]andprev_max!float(inf):max_gapmax(max_gap,min(buckets[i])-prev_max)# 更新上一个桶的最大值ifbuckets[i]:prev_maxmax(buckets[i])returnmax_gap