题目
平面上有 n
个点,点的位置用整数坐标表示 points[i] = [xi, yi]
。请你计算访问所有这些点需要的最小时间(以秒为单位)。
你可以按照下面的规则在平面上移动:
- 每一秒沿水平或者竖直方向移动一个单位长度,或者跨过对角线(可以看作在一秒内向水平和竖直方向各移动一个单位长度)。
- 必须按照数组中出现的顺序来访问这些点。
示例1:
1 | 输入:points = [[1,1],[3,4],[-1,0]] |
示例2:
1 | 输入:points = [[3,2],[-2,2]] |
提示:
- points.length == n
- 1 <= n <= 100
- points[i].length == 2
- -1000 <= points[i][0], points[i][1] <= 1000
解法
解法一:
从一个点p1到移动到另外一个点p2,所需要的步数,就是max(abs(p2.x - p1.x), abs(p2.y - p1.y))。也就是它们x轴或者y轴之差的绝对值的最大值。
Java
1 | public int minTimeToVisitAllPoints(int[][] points) { |