无序数组排序后的最大相邻差
暴力:
排序后,循环求差值
“”"
利用桶排序思想完成:
原数组长度 n = len(array),一个桶代表一个区间范围
区间跨度:(max - min )/ (n - 1)
1.创建n个桶
2.遍历原数组,循环插入对应桶,记录每一个桶的最大值和最小值
3.遍历所有的桶,统计每一个桶的最大值和此桶右侧非空桶的最小值,求二者差,数组最大即为无序数组排序后的最大相邻差
“”"
class Bucket:
def __init__(self):
self.min = None
self.max = None
def get_max_sorted_distance(array = []):
max_value = array[0]
min_value = array[0]
for i in range(1, len(array)):
if array[i]

博客讨论了如何找到无序数组排序后的最大相邻差。提供了两种方法:暴力方法是先排序再计算相邻元素的差值;另一种方法是利用桶排序的思想,通过创建多个桶,记录每个桶的最大值和最小值,然后计算桶间最大值与右侧非空桶最小值的差,找出最大差值。

2426

被折叠的 条评论
为什么被折叠?



