LeetCode 624. 数组列表中的最大距离 — Android 实现思路数组都已升序排列所以每个数组的最小值是arr[0]、最大值是arr[arr.length-1]。要算两个不同数组间的最大距离贪心即可遍历时维护已经过数组的最小值min和最大值max对当前数组只用它的两端去跟历史极值做差max - curMin和curMax - min取最大因为距离只可能来自某数组的最小值与另一数组的最大值这两端中间元素不会贡献更大距离。关键点必须先算完距离再更新min/max否则会把当前数组和自己的两端配对违反不同数组约束。复杂度时间 O(m)空间 O(1)。核心算法Java可直接用于 Androidpublic int maxDistance(ListListInteger arrays) { int res 0; int min arrays.get(0).get(0); int max arrays.get(0).get(arrays.get(0).size() - 1); for (int i 1; i arrays.size(); i) { ListInteger arr arrays.get(i); int curMin arr.get(0); int curMax arr.get(arr.size() - 1); // 先比较再更新保证来自不同数组 res Math.max(res, Math.max(max - curMin, curMax - min)); min Math.min(min, curMin); max Math.max(max, curMax); } return res; }边界处理推荐写法题目保证 m ≥ 2 且每个数组非空若你要更稳妥可加空判断public int maxDistance(ListListInteger arrays) { if (arrays null || arrays.size() 2) return 0; int res 0; int min arrays.get(0).get(0); int max arrays.get(0).get(arrays.get(0).size() - 1); for (int i 1; i arrays.size(); i) { ListInteger arr arrays.get(i); if (arr.isEmpty()) continue; int curMin arr.get(0); int curMax arr.get(arr.size() - 1); res Math.max(res, Math.max(max - curMin, curMax - min)); min Math.min(min, curMin); max Math.max(max, curMax); } return res; }Android 落地方式算法本身是纯逻辑放在任意层都可复用推荐作为工具类或 ViewModel 中的方法// 工具类AlgorithmUtils.java public final class AlgorithmUtils { private AlgorithmUtils() {} public static int maxDistance(ListListInteger arrays) { // 上面的实现 } }在 ViewModel / Repository 中调用public class MainViewModel extends ViewModel { public LiveDataInteger result; public void computeMaxDistance(ListListInteger arrays) { // 数据可来自 Room / 网络 / 本地构造 int distance AlgorithmUtils.maxDistance(arrays); result.setValue(distance); } }Kotlin 版本fun maxDistance(arrays: ListListInt): Int { if (arrays.size 2) return 0 var res 0 var min arrays[0].first() var max arrays[0].last() for (i in 1 until arrays.size) { val arr arrays[i] val curMin arr.first() val curMax arr.last() res maxOf(res, max - curMin, curMax - min) min minOf(min, curMin) max maxOf(max, curMax) } return res }验证示例[[1,2,3],[4,5],[1,2,3]]→ 最大距离是4 - 1 3第2数组的 4 与第3数组的 1。你的函数签名是public int maxDistance(ListListInteger arrays)吗需要我按 Android 的某个具体层如用 Kotlin Coroutine 从数据源取数再展开吗