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

算法题训练 ——— NC313 两个数组的交集

题目要求

描述

给定两个整数数组分别为nums1nums1, nums2nums2,找到它们的公共元素并按返回

数据范围:

1≤nums1.length,nums2.length≤10001≤nums1.length,nums2.length≤1000
1≤nums1[i],nums2[i]≤10001≤nums1[i],nums2[i]≤1000

示例1

输入:

[1,2 ],[2,2,2,2]

返回值:

[2]

说明:

两个数组的公共元素只有2 

示例2

输入:

[1,2,3],[8,2,2,3,8]

返回值:

[2,3]

说明:

两个数组的公共元素为2和3,返回[3,2]也是一个正确的答案 

题目分析

算法原理

哈希思想

哈希思想

因为题目中两个数组的范围是大于等于 1 ,小于等于 1000

所以只需要创建一个 1001 大小的 bool 数组,和其中一个数组 nums1 的数据进行一一映射的关系,对应下标存储了数组的数据后状态改为为 true

在再另一个数组中找出相同的数字,找到后把状态改为 false

最后再返回相同的数字


代码实现

class Solution 
{
    bool hash[1001] = { 0 };

public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) 
    {
        vector<int> ret;

        for (auto x : nums1)
        {
            hash[x] = true;
        }

        for (auto y : nums2)
        {
            if (hash[y] == true)
            {
                ret.push_back(y);
                hash[y] = false;
            }
        }

        return ret;
    }
};

相关文章:

  • vscode中使用PlatformIO创建工程加载慢
  • 优选算法大集合(待更新)
  • 25.2.25补题
  • freetype封装
  • Java进阶学习笔记95——网络编程
  • langchain系列(五)- LangChain 的tool原理与代码实现
  • SpringSecurity获取当前登录用户信息
  • AI提示词的种类与适合的任务
  • DeepSeek开源周 Day02:从DeepEP开源趋势重新审视大模型Infra
  • WordPress Course Booking System SQL注入漏洞复现 (CVE-2025-22785)(附脚本)
  • 1分钟用DeepSeek编写一个PDF转Word软件
  • springboot志同道合交友网站设计与实现(代码+数据库+LW)
  • HTTP/HTTPS 服务端口监测的简易实现
  • 鸿蒙5.0实战案例:har和hsp的转换
  • 三、大模型微调的多种方法与应用场景
  • 搜索优化:微调模型与RAG技术的深度比较
  • 适配 AGP8.5 版本,各种问题(三)
  • vue3.0将后端返回的word文件流转换为pdf并导出+html2pdf.js将页面导出为pdf
  • C#快速调用DeepSeek接口,winform接入DeepSeek查询资料 C#零门槛接入DeepSeek C#接入DeepSeek源代码下载
  • self-attention部分代码注释
  • 做电商网站注意什么/百度宣传推广费用
  • wordpress程序不能升级/seo短期课程
  • 深圳做兼职的网站/百度推广时间段在哪里设置
  • 威海网站制作/全网整合营销
  • 子域名做微信开放平台网站应用/外包网络推广
  • 南京网站建设 雷仁网络/超级seo外链工具