Leetcode - Minimum Time Visiting All Points
https://leetcode.com/problems/minimum-time-visiting-all-points/
On a plane there are n
points with integer coordinates points[i] = [xi, yi]
. Your task is to find the minimum time in seconds to visit all points.
You can move according to the next rules:
- In one second always you can either move vertically, horizontally by one unit or diagonally (it means to move one unit vertically and one unit horizontally in one second).
- You have to visit the points in the same order as they appear in the array.
func minTimeToVisitAllPoints(points [][]int) int { result := 0 for i := 1; i < len(points); i++ { cur := points[i] prev := points[i-1] result += max(abs(cur[0] - prev[0]), abs(cur[1] - prev[1])) } return result } func max(a, b int) int { if a > b { return a } return b } func abs(a int) int { if a < 0 { return 0 - a } return a }