给定一个未经排序的数组,请找出其排序表中连续两个要素的最大间距。
如果数组中的要素少于 2 个,请返回 0.
注意事项
可以假定数组中的所有要素都是非负整数,且最大不超过 32 位整数。
样例
给定数组 [1, 9, 2, 5]
,其排序表为 [1, 2, 5, 9]
,其最大的间距是在 5
和 9
之间,= 4
.
class Solution {
/**
* @param nums: an array of integers
* @return: the maximum difference
*/
public int maximumGap(int[] nums) {
// write your code here
if(nums.length<2||nums==null){
return 0;
}
Arrays.sort(nums);
int maxGap=Integer.MIN_VALUE;
for(int i=0;i<nums.length-1;i++){
maxGap=Math.max(maxGap, nums[i+1]-nums[i]);
}
return maxGap;
}
}