leetcode 454. 4Sum II | 454. 四数相加 II(Java)
题目
https://leetcode.com/problems/4sum-ii/
题解
四数相加问题。
对于左边两个数两两组合,需要维护一个 map,用来存左边两个数的 sum 以及该 sum 对应的 count。
对于右边两个数两两组合,需要查 map 中是否有可以与之匹配的元素。如果有,将个数累加到 count 中。
class Solution {public int fourSumCount(int[] n1, int[] n2, int[] n3, int[] n4) {HashMap<Integer, Integer> map = new HashMap<>(); //(sum,count)int n = n1.length;for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {int sum = n1[i] + n2[j];if (!map.containsKey(sum)) map.put(sum, 0);map.put(sum, map.get(sum) + 1);}}int count = 0;for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {int sum = -n3[i] - n4[j];if (map.containsKey(sum)) count += map.get(sum);}}return count;}
}
leetcode 454. 4Sum II | 454. 四数相加 II(Java)相关推荐
- LeetCode 454. 四数相加 II【哈希表】
454. 四数相加 II 给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j ...
- 代码随想录算法训练营第七天|454.四数相加II 、 383. 赎金信 、15. 三数之和、18. 四数之和
454.四数相加II 给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, ...
- 代码随想录算法训练营第七天| 哈希表理论基础 ,454.四数相加II, 383. 赎金信, 15. 三数之和, 18. 四数之和
代码随想录算法训练营第七天| 哈希表理论基础 ,454.四数相加II, 383. 赎金信, 15. 三数之和, 18. 四数之和 454.四数相加II 建议:本题是 使用map 巧妙解决的问题,好好体 ...
- 代码随想录算法训练营day07| 454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和
Leetcode 454.四数相加II 题目链接 思路:求四数相加之和,将四数两两相加,判断两两相加的数是否和为0 定义一个map,key放两数之和,value放两数之和出现的次数 两层for循环将前 ...
- 代码随想录算法训练营第6天 | 454. 四数相加 II 383. 赎金信 15. 三数之和 18. 四数之和
一.Leetcode 454. 四数相加 II 相当于两数相加.但是呢很巧妙的是,卡哥在遍历CD数组时把查哈希表的方法融入了进去.学习一下. 二.Leetcode 383. 赎金信 更简单了,主要是审 ...
- 代码随想录算法训练营第七天| 454.四数相加II,383. 赎金信,15. 三数之和,18. 四数之和
Leetcode 454.四数相加II 思路分析: 本题直观的想法是采取暴力法,四数相加就用四层for循环.虽然能得到结果,但时间复杂度为o(n4),当数组长度较大时,Leetcode便提示超时.该方 ...
- 代码随想录算法训练营day6| 454.四数相加II 383.赎金信 15.三数之和 18.四数之和
代码随想录算法训练营day6| 454.四数相加II 383.赎金信 15.三数之和 18.四数之和 LeetCode 454 四数相加II 题目链接: 454.四数相加II class Soluti ...
- Suzy找到实习了吗Day 7 | 哈希表结束啦 454. 四数相加 II,383. 赎金信,15. 三数之和,18. 四数之和
454. 四数相加 II(dict hash) 题目 给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足 ...
- 代码随想录算法训练营第七天|454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和
一.454.四数相加II 力扣 思路:第一眼还没反应过来,真是缺练.在四个数组中分别寻找,可以先把前两个数组的和先存入map中,再计算后两个数组元素的和,看一下相反数在map中出现没有,出现过就res ...
最新文章
- 三十八、网络通信Socket模块实现文件传输
- java的4种代码块
- ant如何形成时间轴和图库_如何让景观设计更具有逻辑性?
- shell中的文本处理(grep、sed、awk命令)
- 基于matlab的2ask频带传输系统仿真与性能分析,基于MATLAB的2ASK频带传输系统仿真与性能分析汇总...
- Java中解决(extjs或jquery)session过期退出登录问题
- 烂泥:CentOS6.5光盘以及ISO镜像文件的使用
- 边缘计算的前景和挑战
- authware链接html文件,authorware是什么软件?
- 漏洞复现-——通达OA任意用户登陆漏洞
- arcgis怎么做poi_基于POI数据与ArcGIS空间分析技术的城市公交站点现状容量评价方法...
- html5中ul什么意思,css代码中的ul和li是什么意思
- 射频信号发生器的应用选择
- leetcode 347
- XP系统启动时滚动条总是时间很长
- Firefox支持Websocket
- 生命周期模型_建立从思想到价值的生命周期模型
- Kaggle提示:TTA(测试时间增加),小,技巧,TTAtesttimeaugmentation,增强
- C++ 机房预约系统
- C语言 循环打印星星
热门文章
- POJ - 1011 Sticks(dfs+剪枝)(好题!!)
- 中石油训练赛 - Isomorphic Inversion(哈希+贪心)
- angularjs全栈开发知乎_1-4【微信小程序全栈开发课程】原生小程序框架介绍
- mysql 预留一个自定义字段_mysql-预留字段
- 深度学习项目-人脸表情识别
- linux wine运行效率,Wine 3.0让Windows应用在Linux上流畅运行!
- 特殊方法求1~n的和
- 【网络编程】之十一、重叠IO Overlapped IO 完成例程
- cocos2d-x游戏实例(27)-简易动作游戏(5)
- cocos2d-x游戏实例(18)-纵版射击游戏(5)