/* * @lc app=leetcode id=454 lang=javascript * * [454] 4Sum II * * https://leetcode.com/problems/4sum-ii/description//** * @param {number[]} A * @param {number[]} B * @param {number[]} C * @param {number[]} D * @return {number} */varfourSumCount=function (A, B, C, D) {constsumMapper= {};let res =0;for (let i =0; i <A.length; i++) {for (let j =0; j <B.length; j++) { sumMapper[A[i] +B[j]] = (sumMapper[A[i] +B[j]] ||0) +1; } }for (let i =0; i <C.length; i++) {for (let j =0; j <D.length; j++) { res += sumMapper[-(C[i] +D[j])] ||0; } }return res;};
Python3:
classSolution:deffourSumCount(self,A: List[int],B: List[int],C: List[int],D: List[int]) ->int: mapper ={} res =0for i in A:for j in B: mapper[i + j]= mapper.get(i + j, 0)+1for i in C:for j in D: res += mapper.get(-1* (i + j), 0)return res
复杂度分析
时间复杂度:$O(N^2)$
空间复杂度:$O(N^2)$
大家对此有何看法,欢迎给我留言,我有时间都会一一查看回答。更多算法套路可以访问我的 LeetCode 题解仓库:https://github.com/azl397985856/leetcode 。 目前已经 37K star 啦。 大家也可以关注我的公众号《力扣加加》带你啃下算法这块硬骨头。