码迷,mamicode.com
首页 > 其他好文 > 详细

合并区间--Merge Intervals

时间:2015-07-03 12:16:58      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:

https://leetcode.com/problems/merge-intervals/

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 # Definition for an interval.
 2 # class Interval:
 3 #     def __init__(self, s=0, e=0):
 4 #         self.start = s
 5 #         self.end = e
 6 
 7 class Solution:
 8     # @param {Interval[]} intervals
 9     # @return {Interval[]}
10     def merge(self, intervals):
11         intervals.sort(key=lambda x:x.start)                                #注意形式,按区间左边数排序
12         length=len(intervals)                                               #区间总个数
13         res=[]
14         for i in range(length):                                             #用i对每一个区间依次遍历,进行处理                      
15             if res==[]:                                                     #第一个区间直接加入
16                 res.append(intervals[i])
17             else:
18                 size=len(res)                                               #找到已有区间列res的最后一个区间res[size-1]
19                 if res[size-1].start<=intervals[i].start<=res[size-1].end:  #别忘了两边的等号
20                     res[size-1].end=max(intervals[i].end,res[size-1].end)   #只更新右区间,左仍用res[size-1].start
21                 else:
22                     res.append(intervals[i])                                #若左区间不包含在前一个区间里,则直接加入
23         return res

 

 

 

 

合并区间--Merge Intervals

标签:

原文地址:http://www.cnblogs.com/lzsjy421/p/4618141.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!