资讯详情

资讯详情

合并区间-力扣100

1、题目描述数组intervals表示若干个区间的集合其中单个区间为intervals[i] [starti, endi]。请你合并所有重叠的区间并返回一个不重叠的区间数组该数组需恰好覆盖输入中的所有区间。示例 1输入intervals [[1,3],[2,6],[8,10],[15,18]]输出[[1,6],[8,10],[15,18]]解释区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].2、题解先排序再逐个合并class Solution { public: vectorvectorint merge(vectorvectorint intervals) { vectorvectorintresult; sort(intervals.begin(),intervals.end()); int nintervals.size(); for(int i0;in;i){ if(!result.empty() intervals[i][0]result.back()[1]){ //后一个首小于前一个尾巴 【24】【35】-》【25】 result.back()[1]max(intervals[i][1],result.back()[1]); continue; } result.push_back(intervals[i]); } return result; } };关于sort函数的应用veciervectorint先按第一个元素排序第一个元素相等的话再按第二个元素排序
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →