算法 数组列表中的最大距离 求解代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 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; }