[leetcode] 56. Merge Intervals

网友投稿 933 2022-10-02

[leetcode] 56. Merge Intervals

[leetcode] 56. Merge Intervals

Description

Given a collection of intervals, merge all overlapping intervals.

Example 1:

Input: [[1,3],[2,6],[8,10],[15,18]]Output: [[1,6],[8,10],[15,18]]Explanation: Since intervals [1,3] and [2,6] overlaps, merge them into [1,6].

Example 2:

Input: [[1,4],[4,5]]Output: [[1,5]]Explanation: Intervals [1,4] and [4,5] are considered overlapping.

分析

题目的意思是:合并有交集的区间。

这主要是在遍历之前需要做一下排序,排序的话,注意compare函数需要放在类的外面才行,下面没什么好说的,一次遍历,满足条件就行了。开始我开在了由多个交叉区间怎么进行合并,原来重新newInterval来不断的循环判断就行了,没有交叉就把它存下来。

代码

/** * Definition for an interval. * struct Interval { * int start; * int end; * Interval() : start(0), end(0) {} * Interval(int s, int e) : start(s), end(e) {} * }; */class Solution {public: vector merge(vector& intervals) { vector result; if(intervals.size()==0){ return result; } sort(intervals.begin(),intervals.end(),[](Interval &a,Interval &b){ return a.start=intervals[i].start){ newInterval.start=min(newInterval.start,intervals[i].start); newInterval.end=max(newInterval.end,intervals[i].end); }else{ result.push_back(newInterval); newInterval=intervals[i]; } } result.push_back(newInterval); return result; }};

参考文献

​​[编程题]merge-intervals​​​​[LeetCode] Merge Intervals 合并区间​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:小程序之字符串的使用(微信小程序字符串操作)
下一篇:如何找到小程序的id?(怎样找到小程序)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~