我正在尝试解决Leetcode上的一个问题 - "Minimum Time Visiting All Points"。以下是问题的描述 -
在平面上有n个具有整数坐标的点points [i] = [xi,yi]。您的任务是找到访问所有点的最短时间(以秒为单位)。
您可以按照以下规则移动:
一秒钟内,您始终可以沿垂直方向、水平方向各移动一个单位或者对角线移动(即一秒钟内垂直方向和水平方向各移动一个单位)。 您必须按照它们在数组中出现的顺序访问这些点。
Input: points = [[1,1],[3,4],[-1,0]]
Output: 7
Explanation: One optimal path is [1,1] -> [2,2] -> [3,3] -> [3,4] -> [2,3] -> [1,2] -> [0,1] -> [-1,0]
Time from [1,1] to [3,4] = 3 seconds
Time from [3,4] to [-1,0] = 4 seconds
Total time = 7 seconds
通过解决一些例子,我能够用以下方法解决这个问题 -
ans += max(abs(points[i][1] - points[i - 1][1]), abs(points[i][0] - points[i - 1][0]))
通过循环 'i' 从1到points.size(),但我无法直观地理解这个问题。有人可以帮助我内化这个问题吗?
x
、y
或x,y
step
(步数),对吧? - C. R. Ward