leetcode56. 合并区间

Posted 空空如也gx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode56. 合并区间相关的知识,希望对你有一定的参考价值。

 

int cmp(const void*a, const void*b){
    return (*(int**)a)[0] > (*(int**)b)[0];
}
int** merge(int** intervals, int intervalsSize, int* intervalsColSize, int* returnSize, int** returnColumnSizes){
    int** arr = (int**)calloc(intervalsSize, sizeof(int*));
    *returnSize = 0;
    *returnColumnSizes = (int*)calloc(intervalsSize, sizeof(int));
    qsort(intervals, intervalsSize, sizeof(int*), cmp);
    for (int i = 0; i < intervalsSize; i++){
        if (i == intervalsSize - 1 || intervals[i][1] < intervals[i + 1][0]){
            arr[(*returnSize)] = (int*)calloc(2, sizeof(int*));
            arr[(*returnSize)][0] = intervals[i][0];
            arr[(*returnSize)][1] = intervals[i][1];
            (*returnColumnSizes)[(*returnSize)++] = 2;
        }
        else if (intervals[i][1] >= intervals[i + 1][0]){
            intervals[i + 1][0] = intervals[i][0];
            intervals[i + 1][1] = (intervals[i][1]>intervals[i + 1][1]) ? intervals[i][1] : intervals[i + 1][1];
        }
    }
    return arr;
}

 

以上是关于leetcode56. 合并区间的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 56. 合并区间

精选力扣500题 第45题 LeetCode 56. 合并区间c++/java详细题解

leetcode56 合并区间

力扣leetcode 56. 合并区间

leetcode| 56. 合并区间

Leetcode 56. 合并区间