题目:
平面上有 n 个点,点的位置用整数坐标表示 points[i] = [xi, yi]。请你计算访问所有这些点需要的最小时间(以秒为单位)。
你可以按照下面的规则在平面上移动:
每一秒沿水平或者竖直方向移动一个单位长度,或者跨过对角线(可以看作在一秒内向水平和竖直方向各移动一个单位长度)。
必须按照数组中出现的顺序来访问这些点。
源码:
class Solution {
public int minTimeToVisitAllPoints(int[][] points) {
int count = 0; // 计算总共需要的时间
for (int i = 0; i < points.length - 1; i++) {
// 计算第i+1个坐标点的横轴和第i个坐标点的横轴差值的绝对值
int x = Math.abs(points[i + 1][0] - points[i][0]);
// 计算第i+1个坐标点的纵轴和第i个坐标点的纵轴差值的绝对值
int y = Math.abs(points[i + 1][1] - points[i][1]);
if (x >= y) {
// 横轴和纵轴的差值绝对值之间比较大小
// 因为谁的值越大要移动的时间就越多
count += x;
} else {
count += y;
}
}
return count;
}
}