[452][中等][贪心][动态规划] 用最少数量的箭引爆气球
题目描述
输入:
[[10,16], [2,8], [1,6], [7,12]]
输出:
2
解释:
对于该样例,我们可以在x = 6(射爆[2,8],[1,6]两个气球)和 x = 11(射爆另外两个气球)。解题思路
贪心
最后更新于
输入:
[[10,16], [2,8], [1,6], [7,12]]
输出:
2
解释:
对于该样例,我们可以在x = 6(射爆[2,8],[1,6]两个气球)和 x = 11(射爆另外两个气球)。最后更新于
class Solution:
def findMinArrowShots(self, points: List[List[int]]) -> int:
n = len(points)
if n == 0:
return 0
points.sort(key=lambda x: x[1])
length = []
for left, right in points:
if len(length) == 0 or left > length[-1]:
length.append(right)
return len(length)