Leetcode Insert Interval
来源:互联网 发布:视频剪辑配乐软件 fcp 编辑:程序博客网 时间:2024/05/18 01:25
题意:给出一系列区间,再给出一个新的区间,求这些区间所组成的新的区间。
思路:顺序遍历,先找出所有不重叠的区间,再处理重叠的区间。
/** * 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> insert(vector<Interval>& intervals, Interval newInterval) { vector<Interval> re; int left = -1; int right = intervals.size(); for(int i = 0; i < intervals.size(); ++ i) { if(intervals[i].end < newInterval.start) { re.push_back(intervals[i]); left = i; } } for(int i = intervals.size() - 1; i >= 0; i --) { if(intervals[i].start > newInterval.end) { re.push_back(intervals[i]); right = i; } } Interval tempInterval; if(left + 1 >= 0 && left + 1 < intervals.size()) tempInterval.start = min(newInterval.start, intervals[left + 1].start); else tempInterval.start = newInterval.start; if(right - 1 >= 0 && right - 1 < intervals.size()) tempInterval.end = max(newInterval.end, intervals[right - 1].end); else tempInterval.end = newInterval.end; re.push_back(tempInterval); std::sort(re.begin(), re.end(), [](Interval a, Interval b) {return a.start < b.start;}); return re; }};
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
- VS_Enterprise2017RC初体验-安装篇
- 237. Delete Node in a Linked List
- 80老翁谈人生(334):网络空间主权是什么?
- Leetcode 359 Logger Rate Limiter
- spring基础:快速入门spring cloud(6):统一配置管理之spring cloud config
- Leetcode Insert Interval
- 用人
- Leetcode 346 Moving Average from Data Stream
- spring cron表达式及解析过程
- Android项目实践之菜鸟养成(五)用户体验之Android活动的生命周期
- 每天一个 Linux 命令(24):Linux 文件类型与扩展名
- zoj1216
- Facebook面试题 Remove unclosed parenthesis
- LeetCode 369. Plus One Linked List