[Leetcode] Insert Interval
来源:互联网 发布:图片文字编辑器软件 编辑:程序博客网 时间:2024/06/07 07:43
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]
.
/** * Definition for an interval. * public class Interval { * int start; * int end; * Interval() { start = 0; end = 0; } * Interval(int s, int e) { start = s; end = e; } * } */public class Solution { public List<Interval> insert(List<Interval> intervals, Interval newInterval) { List<Interval> result = new ArrayList<>(); int newStart = newInterval.start; int newEnd = newInterval.end; for(Interval interval : intervals) { if(overlap(interval, newInterval)) { newStart = newStart < interval.start? newStart : interval.start; newEnd = newEnd > interval.end? newEnd : interval.end; } else { result.add(interval); } } int i = 0; for(i = 0; i < result.size(); i++) { if(result.get(i).start > newStart) { break; } } result.add(i, new Interval(newStart, newEnd)); return result; } private boolean overlap(Interval interval1, Interval interval2) { return (interval1.start >= interval2.start && interval1.start <= interval2.end) || (interval1.end >= interval2.start && interval1.start <= interval2.end); }}
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
- poj 3368 统计区间出现次数最多数个数 RMQ
- POJ1001
- java串的基本概念和串的结构
- POJ 2689 Prime Distance [筛法选取素数]【数论】
- codeforces 711D Directed Roads
- [Leetcode] Insert Interval
- 20162017-ct-s03e02-codeforces-trainings-season-3-episode-2-en-A HHPaint
- Poedu_C语言_lesson13_20160912_字符串
- C++ 中的运算符重载
- Spring Boot交流平台
- 先序遍历中序遍历后序遍历确定一棵二叉树(递归、非递归)
- java中堆和栈有什么区别
- eMMC Firmware Upgrade
- Swift- 枚举中的rawValue和hashValue