LeetCode讲解篇之454. 四数相加 II

LeetCode讲解篇之454. 四数相加 II

文章目录

  • LeetCode讲解篇之454. 四数相加 II
  • 题目描述
  • 题解思路
  • 题解代码

题目描述

LeetCode讲解篇之454. 四数相加 II_第1张图片

题解思路

哈希表记录前两个数组所有组合求值和数量, 然后组合后两个数组求值, 若值在哈希表中存在, 则累加该值对应的数量, 完成步骤任务后, 返回累加值

题解代码

func fourSumCount(nums1 []int, nums2 []int, nums3 []int, nums4 []int) (res int) {
    m := make(map[int]int)
    l := len(nums2) - 1
    for i := len(nums1) - 1; i >= 0; i-- {
        for j := l; j >= 0; j-- {
            m[nums1[i] + nums2[j]]++
        }
    }

    l = len(nums4) - 1
    for i := len(nums3) - 1; i >= 0; i-- {
        for j := l; j >= 0; j-- {
            res+=m[-nums3[i]-nums4[j]]
        }
    }
    return
}

你可能感兴趣的:(数据结构与算法,leetcode,算法,哈希算法)