一、452. 用最少数量的箭引爆气球
可以看成公共区间集合数量,即求最少数量的不重叠区间集合来覆盖所有区间:
初始的想法是排序后遍历相邻两区间的头值和尾值,若后区间头值大于前区间尾值则res++,但发现并不能得出正确结果。
推导后会发现,如测试集为:points = [[10,16],[2,8],[1,6],[7,12]],排序后有:
points = [[1,6],[2,8],[7,12],[10,16]],按以上方法会发现[7,12]会连接points[1]和Points[3],导致结果是一个大区间,但实际上point[0]和points[1]并不相交,故此方法存在错误。
正确做法是定义一个尾值end,来遍历维护尾值。

二、435. 无重叠区间
所求值和上题相反:

三、763.划分字母区间
用哈希表记录每个值出现的最远处,之后再遍历比较是否等于最远处的值,是的话用所处位置减去首位置,即为这段字符串的大小:


被折叠的 条评论
为什么被折叠?



