day30 | 贪心算法
终于到了重叠区间的部分,这部分我记得之前笔试的时候做到过,不过有些变形没做出来。看了下题解,看上去是之前的做法弄错了理解不对。 我是按照 star 和 end 进行了一个排序,实际上根据贪心直接根据前面进行排序就可以了,end 的部分可以手动维护一个有序的数列
452. 用最少数量的箭引爆气球
每次更新最短的 end 边界
if points[i-1][1]<points[i][0]: count+=1 else: points[i][1]=min(points[i][1],points[i-1][1])
435. 无重叠区间
if intervals[i-1][1]<=intervals[i][0]: continue # end 尽可能地小 intervals[i][1]=min(intervals[i][1],intervals[i-1][1]) count+=1
`同样,但是区分一下边界的情况和 count +1的情况
763.划分字母区间
可以记录每个字母的start和 end 计入然后求出一个无重叠区间