每天一道LeetCode-----将间隔集中有重叠的间隔合并

本文介绍了如何解决LeetCode上的'Merge Intervals'和'Insert Interval'问题。通过确保间隔按开始位置排序,然后判断是否有重叠来合并有重叠的间隔。对于插入间隔,主要考虑在插入前、后或与待插入间隔无重叠的三种情况,并进行相应的操作。
摘要由CSDN通过智能技术生成

Merge Intervals

原题链接Merge Intervals
这里写图片描述
合并所有有重叠的间隔

对于两个间隔interval1interval2,二者有重叠的情况为

  • interva1全部包含interval2,也就是说interval1.start <= interval2.start && interval1.end >= interval2.end。例如[2, 3][1, 5]
  • interval2全部包含interval1,同上。例如[1, 5][2, 3]
  • interval1interval2有交集,且interval1.start <= interval2.start。例如[1, 3][2, 4]
  • interval1interval2有交集,且interval1.start >= interval2.start。例如[2, 4][1, 3]

所以,为了减少情况,首先应该确保interval1一定在interval2左边,也就是确保interval1.start <= interval2.start。那么就需要将原间隔集合根据间隔的开始位置排序

但是此时仍然有三种情况需要讨论,但是,可以反过来考虑,即二者没有重叠的情况为

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值