区间问题
基本方法
双指针(滑动窗口)
定长滑动
变长滑动
扫描线算法
Index
会议室
LintCode - 920. 会议室
问题描述
给定一系列的会议时间间隔,包括起始和结束时间[[s1,e1],[s2,e2],…(si < ei),
确定一个人是否可以参加所有会议。
样例
给定区间=[[0,30],[5,10],[15,20]],返回false。思路
排序后判断左右区间
C++
会议室 II(扫描线算法)
LintCode - 919. 会议室 II
问题描述
思路
扫描线算法,这里应用了该算法的思想
所有开始时间标记
+1,结束时间标记-1;每当扫描线经过一个节点(开始或结束)时,就累计该节点的标记值;
累计值的最大值即为答案;
C++
合并区间
问题描述
C++
划分字母区间(双指针)
LeetCode - 763. 划分字母区间 LintCode - 1045. 分割标签
问题描述
思路
双指针 + map
先遍历一次,记录每个字符最后出现的位置
再次遍历时不断更新高位指针的位置
C++
最后更新于
这有帮助吗?