我的js算法爬坑之旅-四数相加 II

77 阅读1分钟

第五十一天:力扣第454题,四数相加 II

地址:leetcode-cn.com/problems/4s…

思路:map配上has,将A与B一组,将C与D一组。然后has寻找即可。

var fourSumCount = function(A, B, C, D) {
  let res = new Map();
  let n = 0;
  for( let a of A)
  {
    for( let b of B)
    {
      const sum = a + b;
      res.has(sum) ? res.set(sum, res.get(sum) + 1) : res.set(sum, 1);
    }
  }
  for( let c of C)
  {
    for( let d of D)
    {
      const sum = c + d;
      if(res.has(-sum))
      {
        n+= res.get(-sum);
      }
    }
  }
  return n;
};

执行用时:180 ms, 在所有 JavaScript 提交中击败了53.33%的用户

内存消耗:51.7 MB, 在所有 JavaScript 提交中击败了86.06%的用户