Loading...

数组列表中的最大距离

在这里插入图片描述

求解代码

 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;
        }
最后更新于 2026-04-05 17:35:33
Code Road Record