LeetCode349. 两个数组的交集

这篇具有很好参考价值的文章主要介绍了LeetCode349. 两个数组的交集。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

349. 两个数组的交集

数组哈希.无序set都可以

给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。

示例 1:

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

输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
解释:[4,9] 也是可通过的

提示:

1 <= nums1.length, nums2.length <= 1000
0 <= nums1[i], nums2[i] <= 1000文章来源地址https://www.toymoban.com/news/detail-817492.html

无序set哈希表实现

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        //注意,并不是因为我要用无序set作hash表我的结果也绑定了无序set,而是无序set也满足返回的要求
        unordered_set<int>ans;//题目不要求有序,但要求去重,故unordered_set
        unordered_set<int>hash(nums1.begin(),nums1.end());//无序set型哈希表,以nums1作初始化
        for(int i=0;i<nums2.size();++i){
            if(hash.find(nums2[i])!=hash.end())ans.insert(nums2[i]);
        }
        vector<int>v(ans.begin(),ans.end());
        return v;
    }
};

1005数组哈希表实现

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        bool hash[1005]={0};
        unordered_set<int>ans;
        for(const auto& x:nums1)hash[x]=true;
        for(const auto& x:nums2)if(hash[x])ans.insert(x);
        vector<int>v(ans.begin(),ans.end());
        return v;
    }
};

到了这里,关于LeetCode349. 两个数组的交集的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LeetCode349. 两个数组的交集

    数组哈希.无序set都可以 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4] 解释:[4,9] 也是可通

    2024年01月23日
    浏览(34)
  • Leetcode:349. 两个数组的交集【题解超详细】

    题目 给定两个数组  nums1  和  nums2  ,返回  它们的交集  。输出结果中的每个元素一定是  唯一  的。我们可以  不考虑输出结果的顺序  。 难度: 简单 题目链接:349.两个数组的交集 示例 1: 示例 2: 提示: 1 = nums1.length, nums2.length = 1000 0 = nums1[i], nums2[i] = 1000 思路解析

    2024年02月09日
    浏览(35)
  • 力扣 | 哈希表1 | 242.有效的字母异位词,349.两个数组的交集,202.快乐数,1.两数之和

    目录 理论基础 242.有效的字母异位词 349.两个数组的交集 202.快乐数 1.两数之和 哈希表用来判断一个元素是否出现在集合里(判断一个元素是否出现过)。 牺牲空间换时间,会使用到额外的空间。 又称散列表,key-value,根据key值来访问 (数组就是简单的哈希表,但是数组的大

    2024年02月21日
    浏览(39)
  • ● day5:哈希表理论基础 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

    ● 哈希表理论基础 ● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数 ● 1. 两数之和 哈希表理论基础 建议:大家要了解哈希表的内部实现原理,哈希函数,哈希碰撞,以及常见哈希表的区别,数组,set 和map。 什么时候想到用哈希法, 当我们遇到了要快速判断一

    2024年02月05日
    浏览(52)
  • Day 6 哈希表part01:242.有效的字母异位词 , 349. 两个数组的交集 , 202. 快乐数, 1. 两数之和

    哈希表理论基础  要了解哈希表的内部实现原理,哈希函数,哈希碰撞,以及常见哈希表的区别,数组,set 和map。   什么时候想到用哈希法,当我们遇到了 要快速判断一个元素是否出现集合里的时候 ,就要考虑 哈希法 。  这句话很重要,大家在做哈希表题目都要思考这

    2024年02月15日
    浏览(52)
  • 代码随想录 Day6 哈希表 哈希表理论基础, 242.有效的字母异位词, 349. 两个数组的交集,202. 快乐数,1. 两数之和

    yi  哈希表理论基础 哈希表是采用了牺牲空间换取时间,因为需要存储额外的数据。 需要快速判断一个元素是否出现在一个 数组中的时候就需要哈希法。 er  242.有效的字母异位词 本题一开始想到的是使用map,感觉是字母和数字的组合 问题:  1. 注意给\\\'a\\\'穿衣服 2.想到其实

    2024年03月09日
    浏览(47)
  • 【代码随想录】Day6 哈希表理论基础 242.有效的字母异位词 ,349. 两个数组的交集 202. 快乐数 1. 两数之和

    【代码随想录】Day6 哈希表理论基础 242.有效的字母异位词 ,349. 两个数组的交集 202. 快乐数 1. 两数之和 新的一部分-哈希表,哈希表之前做题相对比较熟练希望能快速复习 Source: 题目 Note:以前刷的时候使用python字典,这次换做C++ 注意数组就是简单的哈希表,但是数组的大小

    2024年02月20日
    浏览(45)
  • 代码随想录二刷 day06 | 哈希表之 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

    哈希表能解决什么问题呢?一般哈希表都是用来快速判断一个元素是否出现集合里。 242.有效的字母异位词 题目链接 解题思路: 题目的意思就是 判断两个字符串是否由相同字母组成。 字符a到字符z的ASCII是26个连续的数值,所以字符a映射为下标0,相应的字符z映射为下标25。

    2024年02月07日
    浏览(47)
  • leetcode分类刷题:哈希表(Hash Table)(一、数组交集问题)

    1、当需要快 速判断某元素是否出现在序列中 时,就要用到哈希表了。 2、本文针对的总结题型为给定 两个及多个数组 ,求解它们的 交集 。接下来,按照由浅入深层层递进的顺序总结以下几道题目。 3、以下题目需要共同注意的是:对于两个数组,我们总是尽量把短数组转

    2024年02月11日
    浏览(40)
  • 349. 两个数组的交集

    1.用到了Set集合,要学会集合操作方法,Set集合没有特殊的操作方法,都是Collection的那些方法。 2.学会基本数据类型数组,包装类数组,集合之间的相互转化 https://blog.csdn.net/m0_37220730/article/details/107803763

    2024年04月08日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包