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