欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

2022.2.13LeetCode——哈希表

时间:2023-06-12
文章目录

一、今日刷题

1、第六部分:哈希表 -- 454.四数相加 II


一、今日刷题 1、第六部分:哈希表 – 454.四数相加 II

跳转LeetCode


答案代码

分组 + 哈希表

package HashSet;import java.util.HashMap;import java.util.Map;public class FourSumCount { public static void main(String[] args) { int[] nums1 = {1, 2}; int[] nums2 = {-2, -1}; int[] nums3 = {-1, 2}; int[] nums4 = {0, 2}; FourSumCount fourSumCount = new FourSumCount(); int ans = fourSumCount.fourSumCount(nums1, nums2, nums3, nums4); System.out.println(ans); } public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) { Map map = new HashMap<>(); int count = 0; for (int num1 : nums1) { for (int num2 : nums2) { int addNumber = num1 + num2; int frequency = map.getOrDefault(addNumber, 0); map.put(addNumber, frequency + 1); } } for (int num3 : nums3) { for (int num4 : nums4) { int checkNumber = -(num3 + num4); if (map.containsKey(checkNumber)) { int addCount = map.get(checkNumber); count += addCount; } } } return count; }}

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。