题目来源:
LeetCode题目:56. 合并区间 - 力扣(LeetCode)
解题思路:
根据各数组第一个元素的大小对数组进行排序后,比较相邻的数组,判断是否需要合并。
解题代码:
#python3
class Solution:
def merge(self, intervals: List[List[int]]) -> List[List[int]]:
intervals=sorted(intervals,key=(lambda x:x[0]))
res=[intervals[0]]
for each in intervals:
if each[0]>res[len(res)-1][1]:
res.append(each)
else:
res[len(res)-1][1]=max(each[1],res[len(res)-1][1])
return res
总结:
本来建了个新数组存放所有元素被访问的次数。具体过程是遍历所给数组将区间内元素累加,再根据数值判断是否被访问过,从而得到最后的结果。但是 [1,2] 和 [3,4] 不能合并。
官方题解也是一样的思路。