栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

LeetCode-350两个数组的交集 II--数组 hash

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

LeetCode-350两个数组的交集 II--数组 hash


》map存储了数组1的所有元素即每个元素的重复情况
》map2用来存储数组1和数组2的重复元素
》题意要求输出重复元素的较小的个数,在遍历数组2时,遍历到一个(存在且value不为0)在map2中加1,在map中减1,这样得到较小的个数 (每次遍历计数方便后边循环复制到数组)
》将map2赋值到数组,map的遍历 Map.Entry entry : map2.entrySet()

class Solution {
    public int[] intersect(int[] nums1, int[] nums2) {
        Map map = new HashMap();
        Map map2 = new HashMap();
        int sum=0;
        for (int i = 0; i < nums1.length; i++) {
            if (!map.containsKey(nums1[i])) {
                map.put(nums1[i], 1);
            } else {
                map.put(nums1[i], map.get(nums1[i]) + 1);
            }
        }


        //map存储了数组1的所有元素即每个元素的重复情况
        //map2用来存储数组1和数组2的重复元素
        //题意要求输出重复元素的较小的个数,在遍历数组2时,遍历到一个在map2中加1,在map中减1,这样得到较小的个数
            for (int i = 0; i < nums2.length; i++) {
                if (map.containsKey(nums2[i]) && map.get(nums2[i])!=0) {
                    if (!map2.containsKey(nums2[i])) {
                        map2.put(nums2[i], 1);
                    } else {
                        map2.put(nums2[i], map2.get(nums2[i]) + 1);
                    }
                    map.replace(nums2[i],map.get(nums2[i]) - 1);
                    sum++;
                }
            }
            int[] result=new int[sum];
            int j=0;
        for (Map.Entry entry : map2.entrySet()) {
            for(int i=0;i
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/287766.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号