[Leetcode][python]Merge Intervals
2017-10-11 03:31
423 查看
题目大意
给出多个数据区段,把首尾相连的数据段合并。注意点:
所给的数据段是乱序的
解题思路
把起始位置(start)排序。遍历数据段,并与结果集中最后一个数据段比较能否合并,如果能合并就合并,否则加入结果集。代码
# Definition for an interval. # class Interval(object): # def __init__(self, s=0, e=0): # self.start = s # self.end = e class Solution(object): def merge(self, intervals): """ :type intervals: List[Interval] :rtype: List[Interval] """ result = [] if not intervals: return result intervals.sort(key = lambda x: x.start) result.append(intervals[0]) for interval in intervals[1:]: prev = result[-1] if prev.end >= interval.start: prev.end = max(prev.end, interval.end) else: result.append(interval) return result
总结
代码内的匿名函数为何可以写成这样,可以参考:http://wangwei007.blog.51cto.com/68019/1100742(最后一个例子)
相关文章推荐
- LeetCode-56-Merge Intervals Python自定义sort,贪心
- LeetCode 56 Merge Intervals(Python实现及详解)
- 【LeetCode with Python】 Merge Intervals
- [LeetCode]题解(python):056-Merge Intervals
- LeetCode 36 Valid Sudoku (C,C++,Java,Python)
- 【leetcode】290. Word Pattern(Python & C++)
- 【Leetcode】【python】Search for a Range
- [LeetCode]题解(python):072-Edit Distance
- 链表-python-leetcode 83 Remove Duplicates from Sorted List
- LeetCode 1.Two Sum (Python)
- 【Leetcode】【python】String to Integer (atoi)
- leetcode:Maximum Depth of Binary Tree【Python版】
- leetcode第一刷_Merge Intervals
- python--leetcode 283. Move Zeroes
- 【LEETCODE】86- Partition List [Python]
- LeetCode-36-Valid Sudoku 位运算状压,python的ascll,char互转
- LeetCode 第7题 Reverse Integer (easy)——python
- python--leetcode682. Baseball Game
- [Leetcode]@python 97. Interleaving String
- LeetCode 056 Merge Intervals