首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
千问 LeetCode 454. 四数相加 II Java实现
📅 2026/10/31 2:06:01
✍️ 爱科研究院
👁 阅读 3,247
这道题用分组 哈希表最稳把四数之和拆成两组两数之和避免 O(n⁴) 暴力。Java 实现class Solution {public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {MapInteger, Integer sumMap new HashMap();// 统计 nums1[i] nums2[j] 的所有和及其出现次数 for (int a : nums1) { for (int b : nums2) { int sum a b; sumMap.put(sum, sumMap.getOrDefault(sum, 0) 1); } } int count 0; // 找 -(c d) 是否在前面出现过 for (int c : nums3) { for (int d : nums4) { count sumMap.getOrDefault(-(c d), 0); } } return count; }}思路要点nums1[i] nums2[j] nums3[k] nums4[l] 0等价于nums1[i] nums2[j] -(nums3[k] nums4[l])所以先枚举前两个数组的所有两两之和记录次数再枚举后两个数组看它们的和的相反数在前面出现过多少次。复杂度维度 复杂度时间 O(n²)空间 O(n²)面试易错点不是去重题题目问的是元组个数所以相同和要累加次数不能只存是否存在。不要和 LeetCode 18. 四数之和混淆那道题是单数组、需要去重通常用排序 双指针这题是四个独立数组用哈希分组更合适。取相反数写清楚用 -(c d) 或 -c - d 都可以注意括号优先级。HashMap 用 getOrDefault比 containsKey 再 get 更简洁也少写 bug。这道题很适合和 LeetCode 1. 两数之和、LeetCode 18. 四数之和 放在一起对比能看出“哈希降维”和“排序去重”两种常见套路。需要我接着为你讲解 LeetCode 18. 四数之和 的 Java 实现吗
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/31 2:06:01
Mysql第二天
2026/10/31 2:01:01
【AI应用】认识机器学习与深度学习
2026/10/31 2:01:01
880 第 5 章 二重积分 无-
2026/10/31 7:16:22
开源网页邮箱聚合系统Cypht部署与配置指南
2026/10/31 7:16:22
ASP+SQL Server旅游管理系统设计:库表、订单库存与三层架构
2026/10/31 7:16:22
2026年AI人才荒:现状、挑战与破局之道
2026/10/31 7:16:22
深入解析while循环:原理、应用与优化技巧
2026/10/31 7:16:21
动态AI技能进化:从原理到企业级实践
2026/10/31 7:11:21
PyCharm安装教程:Python IDE环境配置与断点调试入门
2026/10/31 0:00:18
猫狗目标检测数据集:VOC/COCO/YOLO三格式一体化实战包
2026/10/31 0:00:18
HDU2017多校标程复现:算法竞赛工程化真题沙盒
2026/10/31 0:00:18
Codex Sandbox 隔离环境拆解:AI Agent 的临时实验室如何运作
2026/10/31 0:57:03
全国计算机二级C语言真题PDF高效刷题指南
2026/10/31 0:56:56
requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南
2026/10/30 21:48:31
递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现
2026/10/30 3:44:27
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/30 3:44:25
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/30 3:44:29
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)