Leetcode 0056 merge-intervals

1 min

思路比较简单:

  1. 按每个区间的起始点进行从小到大的排序
  2. 维护一个 res 数组作为结果,循环处理原数组,判断最开始的两个区间能否合并:
    1. 如果可以合并,合并然后将合并后的新区间作为第一个区间继续处理
    2. 如果不能合并,将第一个区间加入 res 数组,然后继续处理剩余区间
  3. 返回 res

根据这个逻辑可以再优化一下,当 res 为空时加入区间,不空时判断 res 的最后一个区间和 intervals 中的当前区间是否能合并,如果可以,则更新 res 的最后一个区间,否则将 intervals 中的当前区间加入到 res 中