【LeetCode454. 四数相加 II】——map型哈希表
admin
2024-02-03 01:15:16
0

454. 四数相加 II

给你四个整数数组 nums1nums2nums3nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:

  • 0 <= i, j, k, l < n
  • nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0

示例 1:

输入:nums1 = [1,2], nums2 = [-2,-1], nums3 = [-1,2], nums4 = [0,2]
输出:2
解释:
两个元组如下:
1. (0, 0, 0, 1) -> nums1[0] + nums2[0] + nums3[0] + nums4[1] = 1 + (-2) + (-1) + 2 = 0
2. (1, 1, 0, 0) -> nums1[1] + nums2[1] + nums3[0] + nums4[0] = 2 + (-1) + (-1) + 0 = 0

示例 2:

输入:nums1 = [0], nums2 = [0], nums3 = [0], nums4 = [0]
输出:1

提示:

  • n == nums1.length
  • n == nums2.length
  • n == nums3.length
  • n == nums4.length
  • 1 <= n <= 200
  • -228 <= nums1[i], nums2[i], nums3[i], nums4[i] <= 228

思考:

本题乍一看十分复杂,其实只要运用map这种哈希类型能够很容易求解。

map型哈希表的难点就在于确定key值和value值,而在本题,我们可以将四个数组两两分组,这样我们需要存储的其实就是两个数组中两数之和,以及该两数和出现的次数。

map型哈希表:

这道题我们选择使用unordered_map这种类型的哈希表,设置int型变量count存储相加等于0的次数。

首先通过两层for循环,遍历nums1、nums2中所有的两两组合,计算它们的和并存储在哈希表中。

接着我们只需要用同样的方式遍历nums3、nums4这两个数组,依然两两组合,并求和,接着用判断语句检索哈希表中是否存在对于的值,能与之相加为0即可。

完整代码:

#include
#include
#includeusing namespace std;class Solution {
public:int fourSumCount(vector& nums1, vector& nums2, vector& nums3, vector& nums4) {unordered_map um;int count = 0;//相加等于0出现的次数//利用两层for循环,检索nums1、nums2中所有组合,存储在um容器中for (int a : nums1) {for (int b : nums2) {um[a + b]++;}}//利用两层for循环,检索nums3、nums4中所有组合,更新countfor (int a : nums3) {for (int b : nums4) {if (um[0 - (a + b)] > 0){count += um[0 - (a + b)];}}}return count;}
};

参考:

代码随想录


往期回顾:
LeetCode1. 两数之和
LeetCode202. 快乐数
LeetCode350. 两个数组的交集 II
LeetCode349. 两个数组的交集
LeetCode1002. 查找共用字符

相关内容

热门资讯

股价腰斩,“章建平”割肉了 短短4个多月,江淮汽车股价腰斩,知名游资章建平也扛不住了。最新公告显示,6月10日至6月23日,章建...
扩张提速、店铺“加密”,“硬折... 北京“硬折扣”超市“迎新”。6月26日,盒马旗下平价社区超市超盒算NB首批6家门店同步开业,网点覆盖...
外媒:黄金白银遭遇“完美风暴” 参考消息网6月26日报道据西班牙《经济学家报》网站6月23日报道,贵金属在金融市场正经历一场名副其实...
原创 法... 巴黎《费加罗报》给中国扣上"拯救者"的帽子,纽约《华尔街日报》隔着大西洋默默点头。 两家立场南辕北辙...
金价大跌!有商家囤货资产缩水百... 近期,国际金价持续大幅下行。6月26日19时30分左右,伦敦金现货价格报4050美元/盎司,较年内高...
原创 人... 大家好,这里是史记文谭,闲中着色,笑里有情,不废观星问月,亦赏市井浮生。 前言 咱们每天兜里揣着的钱...
交运股份告别六年扣非亏损,更名... 本报记者 张蓓 陈炳衡 北京报道 日前,上海交运集团股份有限公司(600676.SH)召开2026年...
原创 星... 马斯克的手又伸长了。这次不是火箭回收,也不是把"星链"塞进乌克兰战壕,而是直接杀进美国消费者的手机号...
视频丨一部剧带火一座城 “追剧... 第31届上海电视节各奖项昨晚(26日)揭晓,谍战题材电视剧《沉默的荣耀》在5项重磅提名中,最终斩获评...
东京经济论坛现场观察:日本华商... 作者 | 东京谢社长 6月26日,我去东京丽嘉皇家酒店参加了东京国际商学院EMBA二期开学典礼暨...
苏州投资人问:土耳其20年免税... 苏州投资人问:土耳其20年免税到底怎么理解? 最近一段时间,苏州工业园区和外企圈子里,关于土耳其20...
刘强东为70万京东物流人员规划... 职业被智能化设备迭代替代,已经成为当下众多从业者共同的内心顾虑。近期刘强东在行业论坛的发言,再度引发...
富国基金换帅:裴长江退休卸任,... 6月26日,富国基金发布高级管理人员变更的公告,董事长裴长江因退休离任,申万宏源证券执行委员会成员王...
两部门最新发布!事关黄金及黄金... 6月26日,中国人民银行、海关总署联合发布通知,就《黄金及黄金制品进出口管理办法(征求意见稿)》向社...
中信重工重构全球矿山装备供应链... 文丨承承 编辑丨李壮 2026年盛夏,第四届“中国国际供应链促进博览会”在北京顺义拉开帷幕。在中信集...
全球爆火的ETF,纳入中国存储... 史上增长最快的新发ETF,刚刚把"中国存储龙头"买成了前十大重仓! 6月,Roundhill Mem...
金价暴跌!重回“3字头”时代 继6月24日、25日伦敦金现连续两日盘中跌破4000美元/盎司后,6月26日国际金价延续跌势。 截至...
一批站在“光”里的基金经理们,... 【导读】一批绩优“追光者”密集出手限购,年内业绩前十均已“闭门谢客” 中国基金报记者 曹雯璟 仅过了...
赛场出圈,多品类业务破局,蒙牛... 2026世界杯加持,股价逆势走高! 文/每日财报 南黎 夏日的墨西哥城阿兹特克体育场,伴随着202...
IPO抢着给科技输血,钱却在选... 2026年上半年,A股IPO市场交出81家上市、1057亿元募资的成绩单,新股首日回报率233%创近...