| 123456789101112131415161718192021222324252627 | type arr2d [][]intfunc (a arr2d) Len() int           { return len(a) }func (a arr2d) Less(i, j int) bool { return a[i][0] < a[j][0] }func (a arr2d) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }func findMinArrowShots(points [][]int) (cnt int) {	n := len(points)	if n <= 1 {		return n	}	sort.Sort(arr2d(points))	beg, end := points[0][0], points[0][1]	for i := 1; i < n; i++ {		if b, e := points[i][0], points[i][1]; beg <= b && b <= end {			beg = b			if e < end {				end = e			}		} else {			cnt++			beg, end = b, e		}	}	cnt++	return}
 |