
求解代码
java
public int maxDistance(List<List<Integer>> arrays) {
// 初始化最小值为第一个数组的第一个元素(升序数组的最小值)
int min = arrays.get(0).get(0);
// 初始化最大值为第一个数组的最后一个元素(升序数组的最大值)
int max = arrays.get(0).get(arrays.get(0).size() - 1);
int res = 0;
for (int i = 1; i < arrays.size(); i++) {
// 计算当前数组的最大值 与 之前所有数组最小值 的差,更新最大距离
res = Math.max(res, Math.abs(arrays.get(i).get(arrays.get(i).size() - 1) - min));
// 计算之前所有数组最大值 与 当前数组最小值 的差,更新最大距离
res = Math.max(res, Math.abs(max - arrays.get(i).get(0)));
// 更新全局最小值
min = Math.min(min, arrays.get(i).get(0));
// 更新全局最大值
max = Math.max(max, arrays.get(i).get(arrays.get(i).size() - 1));
}
return res;
}