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. 合并区间的主要内容,如果未能解决你的问题,请参考以下文章