那为什么又要-i呢,当i=0时,经过第一次循环,最大值就会放到数组的最后一位,此时,在进行第二次循环的时候i=1,最后的最大数就没必要再比了,要比的就是前length-1-1项,以此类推,可以减少循环次数...示例 1:
输入: [3,6,9,1]
输出: 3
解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。...说明:
你可以假设数组中所有元素都是非负整数,且数值在 32 位有符号整数范围内。
请尝试在线性时间复杂度和空间复杂度的条件下解决此问题。...[+∞,3,6] 最大桶 [-∞,3,6]
// 9 为最大值,跳过
// 1 为最小值,跳过
// 如果有落在同一个桶的则最大桶取最大值,最小桶取最小值,此例子中没有重复落入情况
// 从最小桶找到间隔最大的坐标...最小值=1,最小桶 [+∞,3,6],最大桶[-∞,3,6] 最大值=9
// 即较大间隔有3段,1-3(最小桶),3(最大桶)-6(最小桶),6(最大桶)-9
// 间隔 2,3,3 取最大 3
按奇偶排序数组