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方法加到其中。不知道有没有更巧的方法。。。待续。。。。

posted @ 2012-09-27 22:40  ETCOW  阅读(387)  评论(0编辑  收藏  举报