
链接:624. 数组列表中的最大距离 - 力扣(LeetCode)
题解:数组中最大的差值
最大差值出现的情况为:一个数组的最大值-另一个数组的最小值
或者一个数组的最小值-另一个数组的最大值
在便利的过程中,记录数组的最大值和最小值(这些数组都是升序的)
cpp
class Solution {
public:
int maxDistance(vector<vector<int>>& arrays) {
int len = arrays.size();
int start = arrays[0][0]; // 全局最小值
int end = arrays[0][arrays[0].size()-1]; // 全局最大值
int result = 0;
for (int i = 1; i < arrays.size(); ++i) {
// 当前数组与之前遍历过的数组的极值计算差值
result = max(result, max(abs(arrays[i][0] - end), abs(start - arrays[i].back())));
// 更新全局极值
start = min(start, arrays[i][0]);
end = max(end, arrays[i].back());
}
return result;
}
};