leetcode - Insert Interval
2013-04-19 11:04
281 查看
题目描述:点击此处
/** * 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) { // Start typing your C/C++ solution below // DO NOT write int main() function int maxN = 1000000000; vector<Interval> rlt; if (intervals.empty()){ rlt.push_back(newInterval); return rlt; } intervals.push_back(newInterval); vector<Interval>::iterator vi; vector<Interval>::iterator pos =intervals.end()-1; for (vi=intervals.end()-1-1; vi+1!=intervals.begin(); vi--){ if ((*vi).start>(*(vi+1)).start){ pos = vi; Interval tmp = * vi; *vi = *(vi+1); *(vi+1) = tmp; } } for (vi = pos-1; vi+1!=intervals.begin(); vi--){ if ( (*vi).end>=(*pos).start ){ (*pos).start = (*vi).start; (*pos).end = (*pos).end > (*vi).end ? (*pos).end : (*vi).end; (*vi).start = maxN; } else break; } for (vi = pos+1; vi!=intervals.end(); vi++){ if ( (*vi).start<=(*pos).end ){ (*pos).end = (*pos).end > (*vi).end ? (*pos).end : (*vi).end; (*vi).start = maxN; } else break; } for (vi = intervals.begin(); vi!=intervals.end(); vi++){ if ((*vi).start != maxN) rlt.push_back(*vi); } return rlt; } };
相关文章推荐
- LeetCode_OJ【57】Insert Interval
- LeetCode Insert Interval
- 【leetcode】Insert Interval
- [LeetCode] Insert Interval
- leetcode——Insert Interval
- [LeetCode] Insert Interval 解题报告
- Java for LeetCode 057 Insert Interval
- leetcode-Insert Interval
- 【LeetCode】Insert Interval 解题报告
- LeetCode Insert Interval
- leetcode: Insert Interval
- Leetcode: Insert Interval
- Insert Interval 面试题leetcode.
- LeetCode--Insert Interval
- leetcode 57:Insert Interval
- [LeetCode] Merge Interval系列,题:Insert Interval,Merge Intervals
- Leetcode-Array-57(insert Interval)
- [LeetCode][JavaScript]Insert Interval
- LeetCode Online Judge 题目C# 练习 - Insert Interval
- LeetCode (Insert Interval)