23 lines
413 B
Go
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
|