leetcode 57. Insert Interval
2016-09-19 20:38
375 查看
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].
只加了intervals.add(newInterval);
没有做优化
实际上 由于原来是有序的 不需要插入重排
应该logn找到对应位置 局部处理即可
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].
public List<Interval> insert(List<Interval> intervals, Interval newInterval) { List<Interval> result = new ArrayList<Interval>(); intervals.add(newInterval); intervals.sort((a,b)->(a.start - b.start)); for(Interval currentInterval:intervals ){ if(result.size() == 0){ result.add(currentInterval); } else{ Interval lastInterval = result.get(result.size()-1); if(currentInterval.start > lastInterval.end) result.add(currentInterval); else if(currentInterval.end > lastInterval.end){ lastInterval.end = currentInterval.end; } } } return result; }
只加了intervals.add(newInterval);
没有做优化
实际上 由于原来是有序的 不需要插入重排
应该logn找到对应位置 局部处理即可
相关文章推荐
- [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 56. Merge Intervals & 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.array--57. Insert Interval
- leetcode - 57. Insert Interval
- [leetcode]57. Insert Interval(Java)
- leetcode-57. Insert Interval
- leetcode: 57. Insert Interval
- [Leetcode] 57. Insert Interval