求数组排序之后,相邻两数的最大差值,不用比较型的排序,时间复杂度O(N)
第一步:准备桶 如果有n个数,就准备n+1个桶 先遍历数组 找到最小值和最大值
第二步:最小值放到第0号桶,最大值放到n号桶
第三步:把桶进行等分,属于哪个范围就放在哪个桶 比如 0,10,15,20,21,25,29,90,100 准备10个桶。 范围划分为: 0-9 10-19 20-29 30-39 40-49 。。。。。以此类推
相邻两数可能存在与同一个桶 也可能存在于不同的桶
第四步: 收集进入这个桶的最大值和最小值 以及这个桶有没有进入过数据 多余的数就不存了
第五步: 用后一个非空桶的最小值减去前一个非空桶的最大值 然后用一个max函数就保存最大值。