# 0624. Maximum Distance in Arrays ###### tags: `Leetcode` `Medium` `Greedy` Link: https://leetcode.com/problems/maximum-distance-in-arrays/ ## 思路 Greedy Algorithm 对当下array而言,它的最小值就是```array.get(0)```,最大值是```array.get(array.size()-1)``` 假设在它之前所有array中的最小值是```min```,最大值是```max``` 那么到当下array为止并且包含当前array,可能的max distance就是```Math.abs(max-array.get(0))```或者```Math.abs(array.get(array.size()-1)-min)```跟之前得到的max distance找最大的,再更新```min``` ```max```即可 ## Code ```java= class Solution { public int maxDistance(List<List<Integer>> arrays) { int min = Integer.MAX_VALUE; int max = Integer.MIN_VALUE; int ans = 0; for(int i=0; i<arrays.size(); i++){ List<Integer> array = arrays.get(i); if(i!=0) ans = Math.max(ans, Math.max(Math.abs(max-array.get(0)), Math.abs(array.get(array.size()-1)-min))); min = Math.min(min, array.get(0)); max = Math.max(max, array.get(array.size()-1)); } return ans; } } ```