diff options
Diffstat (limited to '1266')
-rw-r--r-- | 1266/main.go | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/1266/main.go b/1266/main.go new file mode 100644 index 0000000..13cab76 --- /dev/null +++ b/1266/main.go @@ -0,0 +1,37 @@ +package main + +import "fmt" + +func min(a, b int) int { + if a < b { + return a + } + return b +} + +func abs(a int) int { + if a > 0 { + return a + } + return -a +} + +func minTimeToVisitAllPoints(points [][]int) int { + sum := 0 + for index, item := range points { + if index+1 < len(points) { + min_dist_x := abs(item[0] - points[index+1][0]) + min_dist_y := abs(item[1] - points[index+1][1]) + sum += min(min_dist_x, min_dist_y) + abs(min_dist_x-min_dist_y) + } + } + + return sum +} + +func main() { + points2 := [][]int{{3, 2}, {-2, 2}} + fmt.Println(minTimeToVisitAllPoints(points2)) + points := [][]int{{1, 1}, {3, 4}, {-1, 0}} + fmt.Println(minTimeToVisitAllPoints(points)) +} |