Advertisement

Leetcode: NO.452 爆炸气球所需的最小箭数 贪心算法

阅读量:

题目

在二维平面中存在多个球形气球。针对每一个气球,输入数据包含其在水平方向上的直径起始与终止坐标。由于这些气球呈水平分布,因此纵坐标可以忽略不计,仅需掌握横坐标的起始与终止值即可。且起始坐标数值始终小于终止坐标数值。

一支弓箭能够沿着 x 轴从任意位置垂直发射。若在 x 坐标处发射一支箭,且存在某个气球的直径起始与终止坐标分别为 x_{start}x_{end},并且满足 x_{start} ≤ x ≤ x_{end} 的条件,则该气球将被引爆。弓箭的数量不受限制,且一旦射出后可无限延伸。我们的目标是确定引爆所有气球所需的最少弓箭数量。

现提供一个数组 points ,其中 points [i] = [x_{start},x_{end}] ,请返回引爆所有气球所需发射的最小弓箭数目。

复制代码
    示例 1:
    输入:points = [[10,16],[2,8],[1,6],[7,12]]
    输出:2
    解释:对于该样例,x = 6 可以射爆 [2,8],[1,6] 两个气球,以及 x = 11 射爆另外两个气球
    
    示例 2:
    输入:points = [[1,2],[3,4],[5,6],[7,8]]
    输出:4
    
    示例 3:
    输入:points = [[1,2]

全部评论 (0)

还没有任何评论哟~