LeetCode 57 Insert Interval
来源:互联网 发布:大数据专业怎么样 编辑:程序博客网 时间:2024/05/18 15:06
题意:
给出一些区间和一个待插入的区间,求他们的并。
思路:
如果把区间都放在一起,排好序,就可以按 http://blog.csdn.net/houserabbit/article/details/72763935 的方法做。
但很显然有更高效的one pass方法。
如果新区间与老区间都没有交,那么直接插入,如果有交,则维护区间的开始和终止位置在哪。
代码:
/** * 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> ans; if (intervals.size() == 0) { ans.push_back(newInterval); return ans; } int s = newInterval.start, e = newInterval.end; bool in = false, insert = false; for (int i = 0; i < intervals.size(); ++i) { if (intervals[i].end < s) { ans.push_back(intervals[i]); } else if (intervals[i].start > e) { if (!insert) { insert = true; in = false; ans.push_back(Interval(s, e)); } ans.push_back(intervals[i]); } else { in = true; s = min(s, intervals[i].start); e = max(e, intervals[i].end); } } if (!insert && (in || intervals[intervals.size() - 1].end < s)) { ans.push_back(Interval(s, e)); } return ans; }};
阅读全文
0 0
- leetcode || 57、Insert Interval
- Leetcode#57||Insert Interval
- leetcode 57: Insert Interval
- leetcode 57:Insert Interval
- LeetCode 57 - Insert Interval
- Leetcode 57 Insert Interval
- LeetCode #57: Insert Interval
- Leetcode 57 Insert Interval
- Leetcode 57 Insert Interval
- LeetCode 57 Insert Interval
- LeetCode 57 --- Insert Interval
- leetcode-57 insert interval
- LeetCode #57 | Insert Interval
- LeetCode 57 Insert Interval
- [Leetcode 57, Hard] Insert Interval
- [leetcode-57]Insert Interval(java)
- LeetCode(57) Insert Interval
- LeetCode-57-Insert Interval 水
- Ubuntu 14.04 下读取CPU温度
- Carthage管理依赖库
- 详解spring 每个jar的作用
- android 跳转到手机内存中查找文件,并上传音频文件
- 获取android软键盘高度
- LeetCode 57 Insert Interval
- 安装chromedriver
- maven构建java web项目总结
- String、StringBuffer和StringBuilder类
- Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
- listview中网络请求图片 用Imageloader加载闪烁问题
- X86 PUSH指令详解
- 实现全选和全不选功能效果的实现代码
- R语言:批量循环读取一系列excel文件