2019-09-18 吴亲库里 库里的深夜食堂
给定一个非排序的数组,计算出数组排序状态下连续元素之间差最大值。如果元素少于两个直接返回0。
我这里给数组进行了排序,然后不断更新局部最大值。代码很简单。
class Solution {
/**
* @param Integer[] $nums
* @return Integer
*/
function maximumGap($nums) {
$res=0;
if(count($nums)<2){
return $res;
}
sort($nums);
for($i=0;$i<count($nums)-1;$i++){
$res=max($nums[$i+1]-$nums[$i],$res);
}
return $res;
}
}
可以使用桶排序,但是如何确保两个桶之间的间隙就代表最大间隔有点麻烦,这里先记录一下,解出来再更新。如果你解出来了,欢迎提交issue