LeetCode-56. Merge Intervals

网友投稿 275 2022-09-15

LeetCode-56. Merge Intervals

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.

题解:

把数据排序之后遍历就行了

class Solution {public: static bool cmp (vector a, vector b) { if (a[0] != b[0]) { return a[0] < b[0]; } else { return a[1] < b[1]; } } vector> merge(vector>& intervals) { int n = intervals.size(); if (n == 0) { return intervals; } sort(intervals.begin(), intervals.end(), cmp); vector> ans; ans.push_back(intervals[0]); for (int i = 1; i < n; i++) { if (intervals[i][0] <= ans.back()[1]) { ans.back()[1] = max(ans.back()[1], intervals[i][1]); } else { ans.push_back(intervals[i]); } } return ans; }};

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

上一篇:公关界007:《奇葩说》第7季,令人惊喜的不只有两大教授CP,还有这个品牌!
下一篇:SIP 模块 - mod_sofia
相关文章

 发表评论

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