Update 0056.合并区间.md

This commit is contained in:
jianghongcheng
2023-06-01 02:36:11 -05:00
committed by GitHub
parent 458f94b8b9
commit 352b51d550

View File

@ -141,18 +141,24 @@ class Solution {
### Python ### Python
```python ```python
class Solution: class Solution:
def merge(self, intervals: List[List[int]]) -> List[List[int]]: def merge(self, intervals):
if len(intervals) == 0: return intervals
intervals.sort(key=lambda x: x[0])
result = [] result = []
result.append(intervals[0]) if len(intervals) == 0:
return result # 区间集合为空直接返回
intervals.sort(key=lambda x: x[0]) # 按照区间的左边界进行排序
result.append(intervals[0]) # 第一个区间可以直接放入结果集中
for i in range(1, len(intervals)): for i in range(1, len(intervals)):
last = result[-1] if result[-1][1] >= intervals[i][0]: # 发现重叠区间
if last[1] >= intervals[i][0]: # 合并区间,只需要更新结果集最后一个区间的右边界,因为根据排序,左边界已经是最小的
result[-1] = [last[0], max(last[1], intervals[i][1])] result[-1][1] = max(result[-1][1], intervals[i][1])
else: else:
result.append(intervals[i]) result.append(intervals[i]) # 区间不重叠
return result return result
``` ```
### Go ### Go