《LeetCode力扣练习》代码随想录——哈希表(四数相加II—Java)
刷题思路来源于 代码随想录
454. 四数相加 II
-
Map哈希表
class Solution {public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {if(nums1.length==1&&nums2.length==1&&nums3.length==1&&nums4.length==1){return nums1[0]+nums2[0]+nums3[0]+nums4[0]==0?1:0;}Map<Integer,Integer> hashMap=new HashMap<>();int result=0;for(int i=0;i<nums1.length;i++){for(int j=0;j<nums2.length;j++){int temp=nums1[i]+nums2[j];hashMap.put(temp,hashMap.getOrDefault(temp,0)+1);}}for(int i=0;i<nums3.length;i++){for(int j=0;j<nums4.length;j++){int temp=0-(nums3[i]+nums4[j]);if(hashMap.containsKey(temp)){result=result+hashMap.get(temp);}}}return result;} }