435. 无重叠区间
当然还是先按照 left 进行排序,然后进行合并,所以实际上返回的是需要合并的次数,
合并时机:当前的 left 小于上一个 right,这时候就要计数了,计数之后把当前的 right 更新成两个的较小值,方便下次比较
763.划分字母区间
一趟便利找每个char的rightmost index,复杂度n
再来一趟便利,记录每个segment长度,一段segment的长度用来build answer
记录方法如下:
- 初始化 left, right 为 0
- 从 index-0 元素开始遍历,在遍历过程中不断地更新最远的 right
- 当遍历到 right时,answer push (right - left + 1), left 赋值为 right + 1
56. 合并区间
简单题,还是先按照 left index sort, 合并区间题目老方法了,然后就开始统计区间个数了,
我的方法如下:
先选取基准,看后边的区间可否合并,并且在合并过程中进行更新区间左右,如果基准区间不可能覆盖当前遍历到的区间,则开始新的一轮基准区间选取与更新,因此这时候也要去 answer push 上一个基准区间
最后返回答案的时候别忘记 push 最后一个基准区间...
怎么更新基准区间?
原则就是要最小程度覆盖到当前遍历到的区间~