dengxinyi 6 年之前
父節點
當前提交
b01326f1ad
共有 1 個文件被更改,包括 27 次插入0 次删除
  1. 27 0
      medium/452.minimum-number-of-arrows-to-burst-balloons.go

+ 27 - 0
medium/452.minimum-number-of-arrows-to-burst-balloons.go

@@ -0,0 +1,27 @@
+type arr2d [][]int
+
+func (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
+}