0
点赞
收藏
分享

微信扫一扫

【leetcode打卡】四数之和

四数之和

四数之和

class Solution {
    public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {
        Map<Integer,Integer> map=new HashMap<>();
        int res=0;
        int team;
        //遍历两个数组,统计各个值出现的次数
        for(int i:nums1){
            for(int j:nums2){
                team=i+j;
                if(map.containsKey(team)){
                    //在原有基础上加一
                    map.put(team,map.get(team)+1);
                }else{
                    //第一次出现值为1
                    map.put(team,1);
                }
            }
        }
         //遍历另外两个数组,与出现的值相减,统计出最终值为0的个数即为答案
         for(int i:nums3){
             for(int j:nums4){
                 team=i+j;
                 if(map.containsKey(0-team)){
                     res+=map.get(0-team);
                 }
             }
         }
         return res;
    }
}
举报

相关推荐

0 条评论