dengxinyi 6 lat temu
rodzic
commit
7c4fd39d9b
1 zmienionych plików z 5 dodań i 6 usunięć
  1. 5 6
      hard/587.erect-the-fence.go

+ 5 - 6
hard/587.erect-the-fence.go

@@ -9,6 +9,8 @@ func (pts Points) Less(i, j int) bool {
 }
 func (pts Points) Swap(i, j int) { pts[i], pts[j] = pts[j], pts[i] }
 
+type none struct{}
+
 /**
  * Definition for a point.
  * type Point struct {
@@ -18,9 +20,6 @@ func (pts Points) Swap(i, j int) { pts[i], pts[j] = pts[j], pts[i] }
  */
 func outerTrees(points []Point) []Point {
 	k, n := 0, len(points)
-	if n == 1 {
-		return points
-	}
 	sort.Sort(Points(points))
 	pts := make([]Point, n)
 	for i := 0; i < n; i++ {
@@ -35,9 +34,9 @@ func outerTrees(points []Point) []Point {
 		pts[k] = points[i]
 		k++
 	}
-	set := make(map[Point]bool)
+	set := make(map[Point]none)
 	for i := 0; i < k; i++ {
-		set[pts[i]] = true
+		set[pts[i]] = none{}
 	}
 	k = 0
 	for i := n - 1; 0 <= i; i-- {
@@ -53,7 +52,7 @@ func outerTrees(points []Point) []Point {
 		k++
 	}
 	for i := 0; i < k; i++ {
-		set[pts[i]] = true
+		set[pts[i]] = none{}
 	}
 	res := make([]Point, len(set))
 	k = 0