leetcode

我的 leetcode 题解(JavaScript)


一道数学题, 知识点是: 曼哈顿距离.

/**
 * @param {number[]} arr1
 * @param {number[]} arr2
 * @return {number}
 */
const maxAbsValExpr = function(arr1, arr2) {
  const da = [[1, 1], [1, -1], [-1, 1], [-1, -1]]; // 代表了四种情况
  let r = 0;
  for (const d of da) {
    let [max, min] = [0, 40000];
    const [x, y] = d;
    for (let i = 0; i < arr1.length; i++) {
      max = Math.max(max, x * arr1[i] + y * arr2[i] + i);
      min = Math.min(min, x * arr1[i] + y * arr2[i] + i);
    }
    r = Math.max(r, max - min)
  }
  return r;
};