Leetcode 435 python 解题报告
2017-02-15 10:19
555 查看
AC代码:
解题思路:自定义排序函数,按interval的start排序,然后分情况讨论,如果后数与前数是包含关系,则贪心法直接舍弃前数,如果是交的关系,则贪心法舍弃后数。
class Solution(object): def eraseOverlapIntervals(self, intervals): """ :type intervals: List[Interval] :rtype: int """ if len(intervals) == 0: return 0 intervals = sorted(intervals, key=lambda Interval: Interval.start) prev = 0 count = 0 for i in range(1,len(intervals)): if intervals[prev].end > intervals[i].start: if intervals[prev].end > intervals[i].end: prev = i count += 1 else: prev = i return count
解题思路:自定义排序函数,按interval的start排序,然后分情况讨论,如果后数与前数是包含关系,则贪心法直接舍弃前数,如果是交的关系,则贪心法舍弃后数。
相关文章推荐
- 【LeetCode】Reverse Linked List 解题报告(Python & java)
- 【LeetCode】Single Number 解题报告(Java & Python)
- 【LeetCode】Binary Tree Paths 解题报告(java & python)
- 【LeetCode】79. Word Search 解题报告(Python)
- 【LeetCode】791. Custom Sort String 解题报告(Python)
- 【LeetCode】Merge Two Sorted Lists 解题报告(Java & Python)
- Leetcode 399 python 解题报告
- 【LeetCode】Two Sum 解题报告(java & python)
- Leetcode 525 python 解题报告
- 【LeetCode】445. Add Two Numbers II 解题报告(Python)
- Leetcode 349. Intersection of Two Arrays 解题报告 Python Java
- Leetcode 494 python 解题报告
- Leetcode 424 python 解题报告
- 【LeetCode】129. Sum Root to Leaf Numbers 解题报告(Python)
- 景岁的Leetcode解题报告:283. Move Zeroes(Python)
- 【LeetCode】Hamming Distance 解题报告(java & python)
- Leetcode 459 python 解题报告
- Leetcode 486 python 解题报告
- 【LeetCode】2. Add Two Numbers 解题报告(Python)
- 【LeetCode】788. Rotated Digits 解题报告(Python)