百度商桥怎么添加到网站,网站建设项目实战实训报告,外贸公司取名字大全集,怎么登陆建设银行网站看开户行给你一个 无重叠的 #xff0c;按照区间起始端点排序的区间列表。
在列表中插入一个新的区间#xff0c;你需要确保列表中的区间仍然有序且不重叠#xff08;如果有必要的话#xff0c;可以合并区间#xff09;。
思路一#xff1a;模拟题意
int pushbackInterval(int…给你一个 无重叠的 按照区间起始端点排序的区间列表。
在列表中插入一个新的区间你需要确保列表中的区间仍然有序且不重叠如果有必要的话可以合并区间。
思路一模拟题意
int pushbackInterval(int **result, int num, int *element, int *colSize) {result[num] (int*)malloc(sizeof(int)*10);result[num][0] element[0];result[num][1] element[1];colSize[num] 2;return num 1;
}int** insert(int** intervals, int intervalsSize, int* intervalsColSize, int* newInterval, int newIntervalSize, int* returnSize, int** returnColumnSizes){int *insert newInterval;int **result (int**)malloc(sizeof(int*)*(intervalsSize1));*returnColumnSizes (int*)malloc(sizeof(int)*(intervalsSize1));int num 0;for (int i 0; i intervalsSize; i) {int *e intervals[i];if (!insert) {num pushbackInterval(result, num, e, *returnColumnSizes);continue;}if (e[1] insert[0]) {num pushbackInterval(result, num, e, *returnColumnSizes);continue;}if (e[0] insert[1]) {num pushbackInterval(result, num, insert, *returnColumnSizes);insert NULL;num pushbackInterval(result, num, e, *returnColumnSizes);continue;}insert[0] insert[0] e[0] ? insert[0] : e[0];insert[1] insert[1] e[1] ? insert[1] : e[1];}if (insert) {num pushbackInterval(result, num, insert, *returnColumnSizes);}*returnSize num;return result;
}
分析
本题与上题很像可将新的数组加入原数组中采用上一题的代码即可做出同时也可以编写一个函数来使两个重叠的数组合并result[num][0] element[0];result[num][1] element[1];colSize[num] 2;return num 1;便可将数组赋为正确值最后输出即可
总结
本题考察对数组的应用将新增的数组与原二维数组合并可解决问题