本文介绍: 4.定义一个结果变量,遍历其中一个哈希表,每遍历到哈希表中一个元素,我们取出这个哈希表中的实值,然后以0减去当前哈希表中的键值所得到的数作为另一个哈希表中的键值,取出另一个的实值,取出的这两个实值进行相乘然后加到我们的结果变量上即可。2.创建两个哈希表(这里用unordered_map),两个哈希表的键值都是其组内第一个整数数组中的元素和第二个整数数组中的元素相加所得的数,实值是当前键值的数出现的次数。3.进行遍历,每组中的第一个整数数组的每个数都和第二个整数数组相加一遍,得到的数存入对应的哈希表中。
每日一题(LeetCode)—-哈希表–四数相加 II
1.题目(454. 四数相加 II)
给你四个整数数组 nums1
、nums2
、nums3
和 nums4
,数组长度都是 n
,请你计算有多少个元组 (i, j, k, l)
能满足:
示例 1:
示例 2:
提示:
2.解题思路
思路一:分组+哈希法
1.一共有四组整数数组,我们每两个为一组(这里我们以前两组整数数组为一组,后两组整数数组为一组)
2.创建两个哈希表(这里用unordered_map),两个哈希表的键值都是其组内第一个整数数组中的元素和第二个整数数组中的元素相加所得的数,实值是当前键值的数出现的次数
3.写出代码
思路一的代码
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。