164. Maximum Gap(最大间距)———附带思路和完整代码

时间:2022-10-20 08:56:02

0 效果

164. Maximum Gap(最大间距)———附带思路和完整代码

1 题目

164. Maximum Gap(最大间距)———附带思路和完整代码

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;
}