lkeetcode 57. Insert Interval
来源:互联网 发布:淘宝客怎么加群 编辑:程序博客网 时间:2024/05/02 01:10
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]
.
class Solution {public:vector<Interval> insert(vector<Interval>& intervals, Interval newInterval) {if (intervals.empty()){intervals.push_back(newInterval);return intervals;}if (newInterval.end < intervals[0].start){intervals.insert(intervals.begin(), newInterval);return intervals;}if (newInterval.end == intervals[0].start){intervals[0].start= newInterval.start;return intervals;}int k = 0;while (k <intervals.size()){while (k <intervals.size() && intervals[k].end < newInterval.start)k++;if (k == intervals.size()){intervals.push_back(newInterval);return intervals;}if (intervals[k].start > newInterval.end){intervals.insert(intervals.begin() + k, newInterval);return intervals;}intervals[k].start = newInterval.start < intervals[k].start ? newInterval.start: intervals[k].start;if (intervals[k].end >= newInterval.end)return intervals;int end = newInterval.end;int kk = k;while (kk < intervals.size() && end >= intervals[kk].end)kk++;if (kk == intervals.size()){intervals[k].end = end;intervals.erase(intervals.begin() + k + 1, intervals.end());return intervals;}if (intervals[kk].start <= end){intervals[k].end = intervals[kk].end;intervals.erase(intervals.begin() + k + 1, intervals.begin() + kk+1);return intervals;}intervals[k].end = end;intervals.erase(intervals.begin() + k + 1, intervals.begin() + kk);return intervals;}}};
0 0
- lkeetcode 57. Insert Interval
- LeetCode --- 57. Insert Interval
- [Leetcode] 57. Insert Interval
- [LeetCode]57.Insert Interval
- [leetcode] 57.Insert Interval
- 57. Insert Interval
- [leetcode] 57.Insert Interval
- 57. Insert Interval
- 57. Insert Interval
- 57. Insert Interval
- Leetcode 57. Insert Interval
- LeetCode 57. Insert Interval
- 57. Insert Interval
- 57. Insert Interval
- 57. Insert Interval
- 57. Insert Interval
- LeetCode 57. Insert Interval
- [LeetCode] 57. Insert Interval
- 年会·希望
- 牙套
- 你的
- 莫名其妙
- 杭电2955Robberies(01背包)
- lkeetcode 57. Insert Interval
- Oracle学习笔记四 --- 变量及表管理
- SSM项目启动tomcat抛出ClassNotFoundException
- ML:Scikit-Learn 学习笔记(1) --- Nearest Neighbors 最近邻 综述
- poj 2663 (轮廓线dp)
- No tag "datetimepicker" defined in tag library imported with prefix "s"
- 白板讲解
- MVC3写的一个留言板
- 承诺