力扣题目:#435. 无重叠区间
刷题时长:参考答案后5min
解题方法:排序
复杂度分析
- 时间O(nlogn)
- 空间O(1)
问题总结
- 判断出重叠空间后无需从数组中移除,可通过更新右边界为重叠两区间右边界的最小值,用以和后续区间再次比较是否有重合
本题收获
- 判断重叠区间,牢记更新右边界值
力扣题目:#763.划分字母区间
刷题时长:参考答案后5min
解题方法:哈希表
复杂度分析
- 时间O(n)
- 空间O(1)
问题总结
- 思路不清
本题收获
- 解题思路:在遍历的过程中相当于是要找每一个字母的边界,如果找到之前遍历过的所有字母的最远边界,说明这个边界就是分割点了
- 统计每一个字符最后出现的位置
- 从头遍历字符,并更新字符的最远出现下标,如果找到字符最远出现位置下标和当前下标相等了,则找到了分割点
力扣题目:#56. 合并区间
刷题时长:参考题解后5min
解题方法:排序
复杂度分析
- 时间O(nlogn)
- 空间O(logn)
问题总结
- 总体思路对了但细节处理不好,此题不应该在原数组上更新边界
本题收获
- 新开辟一个答案result二维数组,初始化为intervals[0]。遍历过程中发现与后一区间重合了,再去更新result数组中的右边界即可