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

LeetCode刷题---二分查找---350

两个数组的交集 II

350. 两个数组的交集 II - 力扣(LeetCode)

题目

给你两个整数数组 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]

提示:

  • 1 <= nums1.length, nums2.length <= 1000
  • 0 <= nums1[i], nums2[i] <= 1000

自己的思路和代码

思路:

        这道题感觉用哈希表更好一些,存储两个哈希表,直接查找就好啦。

代码:
class Solution {
public:
    vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
        unordered_map<int, int> table1;
        unordered_map<int, int> table2;
        vector<int> result;

        for(int i=0; i<nums1.size(); i++) {
            table1[nums1[i]]++;
        }
        for(int i=0; i<nums2.size(); i++) {
            table2[nums2[i]]++;
        }

        for(auto itr=table1.begin(); itr!=table1.end(); itr++) {
            if(table2.find(itr->first) != table2.end()) {
                for(int i=0; i<min(itr->second, table2[itr->first]); i++) {
                    result.push_back(itr->first);
                }
            }
        }
        return result;

    }
};

相关文章:

  • 鸿蒙-Canvas-图片滑动验证
  • 索引的优缺点与常见类型详解
  • 基于YOLO11深度学习的半导体芯片缺陷检测系统【python源码+Pyqt5界面+数据集+训练代码】
  • stm32-LCD(液晶显示器)
  • Python爬虫具体是如何解析商品信息的?
  • Mac book Air M2 用VMware安装 Ubuntu22.04
  • 最短路的方案数+打印路径
  • 基于WebRTC与AI大模型接入EasyRTC:打造轻量级、高实时、强互动的嵌入式音视频解决方案
  • Ollama常用命令详解:快速掌握核心操作
  • # 嵌入式基础学习|C语言——进程篇综合(含进阶)
  • Flutter项目中设置安卓启动页
  • 使用S32DS部署Tensorflow lite到S32K3
  • 【Blender】二、建模篇--05,阵列修改器与晶格形变
  • 力扣27. 移除元素(快慢指针)
  • JUC并发—9.并发安全集合三
  • SPRING10_SPRING的生命周期流程图
  • 使用Docker Desktop部署GitLab
  • vue语法---样式操作-行内样式
  • AI IDE 新势力 Trae 功能深度解析:Builder与Chat模式的应用场景与市场竞争力分析
  • 天 锐 蓝盾终端安全管理系统:办公U盘拷贝使用管控限制
  • wordpress4.7.4密码/seo 页面
  • 响水做网站哪家好/拓客平台有哪些
  • 做宣传单用什么网站找图片素材/微商引流推广
  • 网站建设所有权/网址注册查询
  • 门户网站模板源码/seo运营是什么意思
  • 免费在线建站/市场调研报告怎么写