首页 > 代码库 > LeetCode Insert Interval
LeetCode Insert Interval
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]
.
1 class intervalComparator implements Comparator<Interval>{ 2 @Override 3 public int compare(Interval o1, Interval o2) { 4 return o1.start-o2.start; 5 } 6 } 7 public class Solution { 8 public List<Interval> merge(List<Interval> intervals) { 9 List<Interval> result = new ArrayList<Interval>();10 if (intervals.size() == 0) {11 return result;12 }13 Collections.sort(intervals, new intervalComparator());14 Interval first = intervals.get(0);15 Interval next;16 for (int i = 1; i <intervals.size() ; i++) {17 next = intervals.get(i);18 if (first.end < next.start) {19 result.add(first);20 first = next;21 } else {22 if (first.end < next.end) {23 first.end = next.end;24 } 25 }26 }27 result.add(first);28 return result;29 }30 31 public List<Interval> insert(List<Interval> intervals, Interval newInterval) {32 List<Interval> result = new ArrayList<Interval>(intervals);33 result.add(newInterval);34 return merge(result);35 }36 }
LeetCode Insert Interval
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。