程序合并间隔并在Python中按升序对其进行排序
假设我们有一个列表间隔,我们必须按排序顺序找到它们的并集。
因此,如果输入像inv=[[2,5],[4,10],[20,25]],那么输出将是[[2,10],[20,25]]
为了解决这个问题,我们将遵循以下步骤-
排序列表间隔
ans:=一个新列表
对于间隔中的每个开始和结束(s,e),请执行
将间隔[s,e]插入ans
ans的最后一个间隔的结束时间:=e的最大值和ans的最后一个间隔的结束时间
如果ans和s<=ans的最后间隔的结束时间,则
除此以外,
返回ans
让我们看下面的实现以更好地理解-
示例
class Solution:
def solve(self, intervals):
intervals.sort()
ans = []
for s, e in intervals:
if ans and s <= ans[-1][1]:
ans[-1][1] = max(ans[-1][1], e)
else:
ans.append([s, e])
return ans
ob = Solution()inv = [[2, 5],[4, 10],[20, 25]]
print(ob.solve(inv))输入值
[[2, 5],[4, 10],[20, 25]]
输出结果
[[2, 10], [20, 25]]
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短