# 贪心算法,合并区间有细节!LeetCode:56.合并区间 # # 以数组intervals表示若干个区间的集合,其中单个区间为 # intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 # 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 # # 示例1: # 输入:intervals = [[1, 3], [2, 6], [8, 10], [15, 18]] # 输出:[[1, 6], [8, 10], [15, 18]] # 解释:区间[1, 3] # 和[2, 6] # 重叠, 将它们合并为[1, 6]. # # 示例2: # 输入:intervals = [[1, 4], [4, 5]] # 输出:[[1, 5]] # 解释:区间[1, 4]和[4, 5]可被视为重叠区间。 intervals = [[1, 3], [2, 6], [8, 10], [15, 18]] intervals = [[1, 4], [4, 5]] intervals =[[1,4],[0,1]] def combination_intervals(intervals): sort_intervals = sorted(intervals, key=lambda x :x[0]) if len(intervals) ==1: return intervals res = [sort_intervals[0]] for i in range(1,len(sort_intervals)): if sort_intervals[i][0] <= res[-1][1]: res[-1][1] = max(sort_intervals[i][1], res[-1][1]) else: res.append(sort_intervals[i]) return res print(combination_intervals(intervals))
15.合并区间
于 2024-03-20 20:10:06 首次发布