0 效果
1 题目
2 思路
朴素算法,先处理特殊情况,然后排序序列,依次比较两个相邻元素的差值并记录最大值。
3 代码
int cmp(const void* p1, const void* p2){
return *(int*)p2 - *(int*)p1;
}
int maximumGap(int* nums, int numsSize){
if(numsSize < 2) return 0;
if(numsSize == 2) return abs(nums[0] - nums[1]);
qsort(nums, numsSize, sizeof(int), cmp);
int ans = -1;
for(int i = 1;i < numsSize;i++){
int tmp = nums[i - 1] - nums[i];
if(tmp > ans){
ans = tmp;
}
}
return ans;
}