题目描述:
自己的解:
class Solution: def minTimeToVisitAllPoints(self, points: List[List[int]]) -> int: res = 0 n = len(points) if n < 2: return res pre = points[0] for i,v in enumerate(points): if i>0: res += min(abs(v[1]-pre[1]),abs(v[0]-pre[0])) + abs(abs(v[1]-pre[1])-abs(v[0]-pre[0])) pre = v return res
优化:
class Solution: def minTimeToVisitAllPoints(self, ps: List[List[int]]) -> int: n = len(ps) ans = 0 for i in range(n - 1): dx = abs(ps[i + 1][0] - ps[i][0]) dy = abs(ps[i + 1][1] - ps[i][1]) ans += max(dx, dy) return ans