LeetCode (Merge Intervals)
来源:互联网 发布:淘宝banner尺寸大小 编辑:程序博客网 时间:2024/06/06 06:43
Problem:
Given a collection of intervals, merge all overlapping intervals.
For example,
Given [1,3],[2,6],[8,10],[15,18]
,
return [1,6],[8,10],[15,18]
.
bool myCompare(Interval a, Interval b){ return a.start < b.start;}class Solution {public: vector<Interval> merge(vector<Interval>& intervals) { if(intervals.size() < 2) return intervals; vector<Interval> ans; sort(intervals.begin(), intervals.end(), myCompare); Interval temp = intervals[0]; for(int i = 1; i < intervals.size(); i++){ if(temp.end < intervals[i].start){ ans.push_back(temp); temp = intervals[i]; }else{ temp.end = max(temp.end, intervals[i].end); } } ans.push_back(temp); return ans; }};
Solution2:
/** * 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<Interval> merge(vector<Interval>& intervals) { if(intervals.size() < 2) return intervals; vector<int> start, end; for(auto s : intervals){ start.push_back(s.start); end.push_back(s.end); } sort(start.begin(), start.end()); sort(end.begin(), end.end()); vector<Interval> ans; Interval temp; int i = 0; while(i < start.size()){ temp.start = start[i]; while(i < start.size() - 1 && start[i + 1] <= end[i]) i++; temp.end = end[i]; ans.push_back(temp); if(i == start.size() - 1) break; else i++; } return ans; }};
0 0
- LeetCode: Merge Intervals
- LeetCode Merge Intervals
- LeetCode: Merge Intervals
- [Leetcode] Merge Intervals
- leetcode 28: Merge Intervals
- Leetcode: Merge Intervals
- [LeetCode] Merge Intervals
- [LeetCode]Merge Intervals
- leetcode merge intervals
- [leetcode]Merge Intervals
- LeetCode-Merge Intervals
- [leetcode] Merge Intervals
- LeetCode - Merge Intervals
- 【leetcode】Merge Intervals
- leetcode Merge Intervals
- LeetCode Merge Intervals
- [LeetCode] Merge Intervals
- LeetCode | Merge Intervals
- 文章标题
- 用bat命令重启explorer的方法
- Scala模式匹配
- MyFlag Step2:APP雏形的展现以及相关规范
- 因子分析、主成分分析(PCA)、独立成分分析(ICA)——斯坦福CS229机器学习个人总结(六)
- LeetCode (Merge Intervals)
- Java泛型_嵌套_其它
- 面试总结(4):top、left、right、bottom 和 translationX、translationY 和 scrollX,scrollY的区别
- 成功的人在多于2个方面都做的好
- mybatis与spring整合
- Android 备忘录 -- Intent
- APP开发实战169-屏幕纵横比的参数设置
- 链表箱子排序问题
- ios xcode 方法摘要