LeetCode Online Judge 题目C# 练习 - Merge Intervals
Given a collection of intervals, merge all overlapping intervals.
For example,
Given [1,3],[2,6],[8,10],[15,18],
return [1,6],[8,10],[15,18].
1 public static List<Interval> MergeIntervals(List<Interval> intervals) 2 { 3 List<Interval> ret = new List<Interval>(); 4 5 if (intervals.Count == 0) 6 return ret; 7 8 ret.Add(intervals[0]); 9 10 for (int i = 1; i < intervals.Count; i++) 11 { 12 for (int j = 0; j < ret.Count; j++) 13 { 14 //invoke InsertInterval 15 ret = InsertInterval(ret, intervals[i]); 16 } 17 } 18 19 return ret; 20 }
代码分析:
这一个调用了之前的Insert Interval那一题的方法。 先把第一个Interval 插入到ret中,然后迭代之后的,一个一个用InsertInterval方法加到其中。不知道有没有更巧的方法。。。待续。。。。