能重叠的区域能一起射爆
所以先排序
再取重合的区域
看一共有几个这样的区域
class Solution:
def findMinArrowShots(self, points):
"""
:type points: List[List[int]]
:rtype: int
"""
if not points: return 0
sp=sorted(points,key=lambda points:points[0])
count=0
pre=sp[0]
for i in range(len(sp)):
if sp[i][0]<=pre[1]:
pre=[sp[i][0],min(pre[1],sp[i][1])]
else:
pre=sp[i]
count+=1
return count+1