浏览代码

fix high mem bug

Guillaume Koenig 7 年之前
父节点
当前提交
426cc137d9
共有 1 个文件被更改,包括 4 次插入5 次删除
  1. 4 5
      main.go

+ 4 - 5
main.go

@@ -114,9 +114,9 @@ func (c *Car) distanceTo(x, y int) int {
114 114
 }
115 115
 
116 116
 func Choose(c *Car) *Ride {
117
-	bestRide := Rides[0]
118
-	bestLenOfRide := Rides[0].length()
119
-	bestTotal := c.distanceTo(Rides[0].a, Rides[0].b) + bestLenOfRide
117
+	var bestRide *Ride
118
+	bestLenOfRide := 0
119
+	bestTotal := 0
120 120
 	for _, r := range Rides[1:] {
121 121
 		if r.used {
122 122
 			continue
@@ -126,12 +126,11 @@ func Choose(c *Car) *Ride {
126 126
 		}
127 127
 		lenOfRide := r.length()
128 128
 		total := c.distanceTo(r.a, r.b) + lenOfRide
129
-		if lenOfRide*bestTotal < total*bestLenOfRide {
129
+		if bestRide == nil || lenOfRide*bestTotal < total*bestLenOfRide {
130 130
 			bestLenOfRide = lenOfRide
131 131
 			bestTotal = total
132 132
 			bestRide = r
133 133
 		}
134
-		return r
135 134
 	}
136 135
 	return bestRide
137 136
 }