624. 数组列表中的最大距离
2025年6月25日小于 1 分钟
624. 数组列表中的最大距离
function maxDistance(arrays: number[][]): number {
let result = 0
let minSoFar = arrays[0][0] // 第一个数组的最小值
let maxSoFar = arrays[0][arrays[0].length - 1] // 第一个数组的最大值
for (let i = 1; i < arrays.length; i++) {
const current = arrays[i]
const curMin = current[0]
const curMax = current[current.length - 1]
// 当前数组与历史最大/最小值组合出两个候选答案
const dist1 = Math.abs(curMax - minSoFar) // 当前最大 - 历史最小
const dist2 = Math.abs(maxSoFar - curMin) // 历史最大 - 当前最小
result = Math.max(result, dist1, dist2)
// 更新历史最大/最小
minSoFar = Math.min(minSoFar, curMin)
maxSoFar = Math.max(maxSoFar, curMax)
}
return result
}