lc-go/solutions/4/q452/solution.go
2026-01-07 18:04:39 +09:00

23 lines
413 B
Go

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