首页 > 其他 > 详细

leetcode56

时间:2018-10-06 13:48:31      阅读:199      评论:0      收藏:0      [点我收藏+]
public class Solution
    {
        public IList<Interval> Merge(IList<Interval> intervals)
        {
            var len = intervals.Count;
            if (len == 1)
            {
                return intervals;
            }
            var list = intervals.OrderBy(x => x.start).ToList();
            int i = 0;
            while (i < list.Count)
            {
                int j = i;
                while (i < list.Count - 1 && list[j].end >= list[i + 1].start)
                {
                    //可以融合
                    //前项修改,后项删除
                    list[j].start = Math.Min(list[j].start, list[i + 1].start);
                    list[j].end = Math.Max(list[j].end, list[i + 1].end);
                    list.RemoveAt(i + 1);
                }
                i++;
            }
            return list;
        }
    }

 

leetcode56

原文:https://www.cnblogs.com/asenyang/p/9747123.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!