【LeetCode】Insert Interval
来源:互联网 发布:知乎回答怎么添加图片 编辑:程序博客网 时间:2024/05/20 10:52
题目描述:
Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary).
You may assume that the intervals were initially sorted according to their start times.
Example 1:
Given intervals [1,3],[6,9]
, insert and merge [2,5]
in as [1,5],[6,9]
.
Example 2:
Given [1,2],[3,5],[6,7],[8,10],[12,16]
, insert and merge [4,9]
in as [1,2],[3,10],[12,16]
.
This is because the new interval [4,9]
overlaps with [3,5],[6,7],[8,10]
.
代码:
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> insert(vector<Interval> &intervals, Interval newInterval) {vector<Interval> ret;if (intervals.empty())return vector<Interval>(1,newInterval);int i(0);bool flag(false);while (i < intervals.size()){Interval curr = intervals[i];if (!flag&&newInterval.start < intervals[i].start){curr = newInterval;flag = true;}elsei++;if (ret.empty()){ret.push_back(curr);continue;}Interval *prev = &ret[ret.size() - 1];if (curr.start>prev->end)ret.push_back(curr);elseprev->end = max(prev->end, curr.end);}if (!flag){Interval *prev = &ret[ret.size() - 1];if (newInterval.start>prev->end)ret.push_back(newInterval);elseprev->end = max(prev->end, newInterval.end);}return ret;}};
0 0
- LeetCode: Insert Interval & Merge Interval
- LeetCode题目 Insert Interval
- LeetCode: Insert Interval
- LeetCode Insert Interval
- LeetCode: Insert Interval
- Leetcode: Insert Interval
- [LeetCode] Insert Interval
- LeetCode Insert Interval
- [LeetCode]Insert Interval
- leetcode insert interval
- [leetcode]Insert Interval
- LeetCode-Insert Interval
- [leetcode] Insert Interval
- LeetCode - Insert Interval
- 【leetcode】Insert Interval
- leetcode Insert Interval
- 【leetcode】Insert Interval
- LeetCode Insert Interval
- LeetCode 20. Valid Parentheses
- SublimeScope: 自己给Sublime Text写的cscope集成插件
- PHP 异常处理类 Exception
- Ogre 节点、属性方法 案例分析
- springmvc梳理6-----springmvc拦截器(2)
- 【LeetCode】Insert Interval
- LeetCode 21. Generate Parentheses
- 红黑树
- 【LeetCode】N-Queens II
- java 时间类分析
- WideString 还是 AnsiString ?谈谈字符编码
- Delphi中预编译指令
- 【LeetCode】Length of Last Word
- Delphi2006连接Mysql5.1