lc-go/solutions/4/q452/solution.go

24 lines
529 B
Go

// Package q452 implements a solution for https://leetcode.com/problems/minimum-number-of-arrows-to-burst-balloons/
package q452
import "slices"
func findMinArrowShots(points [][]int) int {
slices.SortFunc(points, func(a, b []int) int { return a[0] - b[0] })
arrows := 1
prev := points[0]
for i := 1; i < len(points); i++ {
cur := points[i]
if cur[0] > prev[1] {
arrows++
prev = cur
continue
}
prev[0] = max(prev[0], cur[0])
prev[1] = min(prev[1], cur[1])
}
return arrows
}
var _ = findMinArrowShots