leetcode刷题-56合并区间
2024-09-07 21:23:31
题目
给出一个区间的集合,请合并所有重叠的区间。
示例 1:
输入: [[1,3],[2,6],[8,10],[15,18]]
输出: [[1,6],[8,10],[15,18]]
思路
通过设置一个移动的判定区间,来完成区间的合并
首先对数组排序,使其以左区间为标准,从小到大,依次排序,然后依次读出数组:
当取出的数组的left <= 判定区间right 且取出的数组的right >= 判定区间right :则认为两个区间有重合,合并区间
当取出的数组的left > 判定区间right:不存在重合,当新区间作为判定区间。
实现
class Solution:
def merge(self, intervals: List[List[int]]) -> List[List[int]]:
intervals.sort()
result = list()
if not intervals:
return []
result.append(intervals[0])
for idx in intervals:
left = result[-1][0]
right = result[-1][1]
if idx[0] <= right and idx[1] >= right:
result[-1][1] = idx[1]
elif idx[0] > right:
result.append(idx)
return result
最新文章
- Android编码规范03
- Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题
- Mac工具
- 转载:Linux kernel rt_mutex的背景和简介
- js判断元素是否隐藏的方法
- Scrum Meeting---Three(2015-10-27)
- How to convert an IPv4 address into a integer in C#?
- javascript基础学习(二)
- IOS中获取各种文件的目录路径的方法-备
- 谈谈new Thread的弊端及Java四种线程池的使用
- Android 边框圆角
- ZUFE OJ 2301 GW I (3)
- [模板] 网络流相关/最大流ISAP/费用流zkw
- HTTP之状态码
- 可以落地的DDD到底长什么样?
- 首篇 sdk 之 AlertDialog
- H5 边框:带border的百分比布局
- .NET 和 .NET框架概览
- htop工具使用
- Go语言并发编程总结