python合并列表并按升序排序_程序合并间隔并在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个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值