当前位置: 首页 > article >正文

LeetCode350:两个数组的交集Ⅱ

题目描述
给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。

示例 1:
输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2,2]

示例 2:
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[4,9]

解题思想
使用hashMap,将第一个数组的元素插入hashMap。
然后遍历第二个数组,看其num是否在hashMap中,如果在就将count–,并插入数组中。

代码

class Solution {
public:
    vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
        unordered_map<int,int> hash;
        vector<int> ans;
        
        for(int num:nums1)
            ++hash[num];
            
        for(int num:nums2)
            if(hash.count(num)){
                --hash[num];
                ans.push_back(num);

                if(hash[num] == 0)
                    hash.erase(num);
            }   
        return ans;
    }
};

http://www.kler.cn/a/273205.html

相关文章:

  • 【C++、数据结构】哈希表——散列表(一)(概念/总结)
  • 【6G 需求与定义】ITU(国际电联)对全球6G标准的愿景
  • 前端Nginx的安装与应用
  • Linux网络命令:它用于实时监控网络接口的状态变化的命令 ip monitor详解
  • Redis(2):内存模型
  • Kafka在大数据处理中的作用及其工作原理
  • 腾讯云优惠券领取指南:让你省钱又省心
  • 文件系统I/O FATFS RW 源码分析
  • win修改图标自定义QQ桌面图标
  • 粤嵌6818开发板通过MobaXterm使用SSH连接开发板
  • 前端入职配置新电脑!!!
  • 力扣思路题:最长特殊序列1
  • kingbase 服务器配置(参数修改)
  • 关于学习的一点粗浅见解
  • Linux TCP参数——tcp_adv_win_scale
  • luceda ipkiss教程 63:器件端口延伸ExtendPorts
  • C++——字符串、读写文件、结构体、枚举
  • 【人工智能】英文学习材料03(每日一句)
  • 【字符串算法题】541. 反转字符串 II
  • es 聚合操作(二)
  • openstack迁移虚拟机--来自gpt
  • kerberos验证协议安装配置使用
  • 6语言交易所/多语言交易所php源码/微盘PHP源码
  • 数据结构 二叉树 力扣例题AC——代码以及思路记录
  • 由浅到深认识C语言(13):共用体
  • 分享一个不错的three.js开源项目