题目:给你两个长度相等的整数数组,返回下面表达式的最大值:
1 | |arr1[i] - arr1[j]| + |arr2[i] - arr2[j]| + |i - j| |
其中下标 i,j 满足 0 <= i, j < arr1.length。
思路:其实这道题的引申问题也就是求最远曼哈顿距离。而最远曼哈顿距离也可以引申为新增一个点,求该点到一群点的最大曼哈顿距离。
最大曼哈顿距离的求解方法:
1 | |x1 - x2| + |y1 - y2| |
1 | class Solution: |
反思:这道题其实很有借鉴意义,因为之前面试的时候就遇到过这道题,结果没有做出来。原来就是四种情况,每次保存每种情况最小的那个坐标即可。