无重叠区间
日常刷题记录
今天这两个题都和贪心算法以及区间有关,还是挺有意思的。
1. 用最少数量的箭引爆气球
贪心策略:将右端点从小到大排序。排序好以后,第一个气球肯定需要一只箭,以第一个右端点作为边界,如果下一个气球的左端点小于这个边界那说明不用花费一只箭了,否则就需要另一支箭,然后更新边界。
1 | class Solution { |
2. 无重叠区间
贪心策略:依然按照区间右端点从小到排序,然后反其道而行之,先计算最大无重叠区间个数,那么用区间个数减去最大无重叠区间个数就是需要移除区间的最小数量,使剩余区间互不重叠。
1 | class Solution { |