Minimum Number of Arrows to Burst Balloons
import math
def num_of_shots(points):
answer = 0
arrow_x = -math.inf
points = sorted(points, key=lambda x: x[1])
for point in points:
if point[0] > arrow_x:
answer += 1
arrow_x = point[1]
return answer
def pr(ok): print("Ok" if ok else "Error")
pr(num_of_shots([[10,16],[2,8],[1,6],[7,12]]) == 2)
pr(num_of_shots([[1,2],[3,4],[5,6],[7,8]]) == 4)
pr(num_of_shots([[1,2],[2,3],[3,4],[4,5]]) == 2)