给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:0 <= i, j, k, l < nnums1[i] + nums2[j] + nums3[k] + nums4[l] == 0
两个双重循环比一个四重循环更快
class Solution {public int fourSumCount(int[] nums1, int[] nums2,int[] nums3, int[] nums4) {Map<Integer,Integer> map = new HashMap();int temp = 0;int result = 0;//两个双重循环for(int i=0;i<nums1.length;i++){for(int j=0;j<nums2.length;j++){temp = nums1[i] + nums2[j];map.put(temp , map.getOrDefault(temp,0)+1);}}for(int m=0;m<nums3.length;m++){for(int n=0;n<nums4.length;n++){temp = nums3[m] + nums4[n];if(map.containsKey(0- temp)){result += map.get(0 - temp);}}}return result;}}
