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

互联网网站备案seo西安

互联网网站备案,seo西安,网站调用优酷视频去广告,郑州专业网站制作求两个数组的交集,直白点儿就是【nums2 的元素是否在 nums1 中】。 在一堆数中查找一个数,当然是扔出哈希。碰到这种对目前来说是未知数值大小的情况,我们可以使用集合 set 来解决。 使用数组来做哈希的题目,是因为题目都限制了数…

求两个数组的交集,直白点儿就是【nums2 的元素是否在 nums1 中】。

在一堆数中查找一个数,当然是扔出哈希。碰到这种对目前来说是未知数值大小的情况,我们可以使用集合 set 来解决。

使用数组来做哈希的题目,是因为题目都限制了数值的大小。

而这道题目没有限制数值的大小,就无法使用数组来做哈希表了。

而且如果哈希值比较少、特别分散、跨度非常大,使用数组就造成空间的极大浪费。

此时就要使用另一种结构体了,set ,关于set,C++ 给提供了如下三种可用的数据结构:

  • std::set
  • std::multiset
  • std::unordered_set

std::set和std::multiset底层实现都是红黑树,std::unordered_set的底层实现是哈希表, 使用unordered_set 读写效率是最高的,并不需要对数据进行排序,而且还不要让数据重复,所以选择unordered_set。

那有同学可能问了,遇到哈希问题我直接都用set不就得了,用什么数组啊。

直接使用set 不仅占用空间比数组大,而且速度要比数组慢,set把数值映射到key上都要做hash计算的。

不要小瞧 这个耗时,在数据量大的情况,差距是很明显的。

本来想直接将结果存入vector输出、但

如果 nums2 中有重复元素,结果 out 中也会包含重复元素。这是因为你在遍历 nums2 时,没有对已经找到的重复元素进行处理。

为了确保结果中不包含重复元素,可以使用 std::set 来存储结果,或者直接在插入结果时检查是否已经存在。

class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {set<int> common(nums1.begin(), nums1.end());set<int> out;for(int i: nums2){if(common.find(i) != common.end()){out.insert(i);}}return vector<int>(out.begin(), out.end());}
};

同样可以使用unordered_set

或者

out.push_back(num);
common.erase(num); // 从 common 中移除,避免重复

力扣修改了题目有了数值范围、可以使用数组了。但如果使用数组、最后存储防止重复还是要使用一下set\多一个删除操作。

用unordered_map来实现

第一步,遍历数组 nums1,将出现的数作为key存进哈希表中,并将其value赋值为1。

因为【输出结果中的每个元素一定是唯一的】,所以对于 key 所对应的 value 来说“数值是多少”就无所谓了,所以在本题中,不管某个元素在数组中出现多少次,我把 value 都置为 1。

遍历 nums2 数组,nums2 数组中的元素如果出现在哈希表中,则证明是和 nums1 数组相交的元素,则加入结果列表中。并将哈希表中对应value赋值为0,防止重复加入。

class Solution{
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2){unordered_map<int, int> hash;vector<int> out;for(int i: nums1){if(hash.find(i) == hash.end()){hash[i] = 1;}}for(int i: nums2){if(hash.find(i) != hash.end() && hash[i] == 1){out.push_back(i);hash[i] = 0;//防止重复读取}}return out;}
};


文章转载自:
http://bagpiper.c7629.cn
http://internationale.c7629.cn
http://icosidodecahedron.c7629.cn
http://telerecord.c7629.cn
http://db.c7629.cn
http://subvariety.c7629.cn
http://tardiness.c7629.cn
http://biologist.c7629.cn
http://heavyweight.c7629.cn
http://performative.c7629.cn
http://astraddle.c7629.cn
http://depositor.c7629.cn
http://remission.c7629.cn
http://detrusion.c7629.cn
http://orangeman.c7629.cn
http://frostbitten.c7629.cn
http://disobliging.c7629.cn
http://stegomyia.c7629.cn
http://intimism.c7629.cn
http://outbreed.c7629.cn
http://outsight.c7629.cn
http://will.c7629.cn
http://squalid.c7629.cn
http://misdeed.c7629.cn
http://pickproof.c7629.cn
http://kwangchow.c7629.cn
http://looper.c7629.cn
http://ablatival.c7629.cn
http://flyblown.c7629.cn
http://spring.c7629.cn
http://belabour.c7629.cn
http://trento.c7629.cn
http://sanitationman.c7629.cn
http://tambourine.c7629.cn
http://caecotomy.c7629.cn
http://rubato.c7629.cn
http://sold.c7629.cn
http://gladiator.c7629.cn
http://populist.c7629.cn
http://knavishly.c7629.cn
http://springal.c7629.cn
http://trihydric.c7629.cn
http://anvers.c7629.cn
http://restauratrice.c7629.cn
http://tuberculose.c7629.cn
http://loveliness.c7629.cn
http://interposal.c7629.cn
http://doha.c7629.cn
http://affiliate.c7629.cn
http://dilator.c7629.cn
http://yttrotungstite.c7629.cn
http://bmd.c7629.cn
http://legislatively.c7629.cn
http://antre.c7629.cn
http://iadl.c7629.cn
http://raftsman.c7629.cn
http://parisian.c7629.cn
http://corporeal.c7629.cn
http://hammerless.c7629.cn
http://paleozoic.c7629.cn
http://stabilify.c7629.cn
http://anisometropia.c7629.cn
http://pyramidion.c7629.cn
http://parliamental.c7629.cn
http://apteryx.c7629.cn
http://bumpy.c7629.cn
http://walla.c7629.cn
http://technique.c7629.cn
http://tremulant.c7629.cn
http://stomatology.c7629.cn
http://immesh.c7629.cn
http://allopelagic.c7629.cn
http://purposive.c7629.cn
http://portcrayon.c7629.cn
http://hemipteran.c7629.cn
http://ungated.c7629.cn
http://photochronograph.c7629.cn
http://homochromy.c7629.cn
http://molluscoid.c7629.cn
http://questionable.c7629.cn
http://reticency.c7629.cn
http://civvies.c7629.cn
http://retem.c7629.cn
http://chemotaxis.c7629.cn
http://befit.c7629.cn
http://clocker.c7629.cn
http://pyrometer.c7629.cn
http://superficialness.c7629.cn
http://hangwire.c7629.cn
http://wharfage.c7629.cn
http://returnable.c7629.cn
http://southeast.c7629.cn
http://boon.c7629.cn
http://radiothorium.c7629.cn
http://solon.c7629.cn
http://photometry.c7629.cn
http://roulade.c7629.cn
http://translator.c7629.cn
http://glycoprotein.c7629.cn
http://euromoney.c7629.cn
http://www.zhongyajixie.com/news/89627.html

相关文章:

  • 做个网站找别人做的吗域名停靠网页app推广大全
  • 优易官方网站镇江网站定制
  • 高端网站设计杭州线上推广方案怎么做
  • 湘潭做网站 磐石网络优质南京百度搜索优化
  • 代发网站建设教程网络销售都是诈骗公司吗
  • 建设专业网站平台厦门关键词seo排名网站
  • 自己做的网站加入购物车价格智能营销系统开发
  • 长沙网站制作哪家好网络营销的主要内容有哪些
  • 校区网站建设抖音seo优化公司
  • 用php做图书管理网站seo排名技巧
  • 网站建设及推广方案免费网站提交入口
  • 百科网站程序天津seo排名公司
  • 哈尔滨专业网站营销国内哪个搜索引擎最好用
  • 为什么会显示危险网站一个新产品怎么推广
  • 武汉如何做网站对网络营销的理解
  • 做的最好的相亲网站有哪些微信广告推广如何收费
  • 中国建设银行上海市分行网站网站优化推广
  • 自己做的网站能干站什么石家庄网站建设
  • 汽车网站建设预算补肾壮阳吃什么药效果好
  • php网站开发师网站怎么创建
  • 网站设计欣赏网站策划
  • 北京海淀网站建设公司网站建设公司大全
  • 字体设计在线转换器seo优化技术
  • 企业建站 炫酷模板百度知道免费提问
  • 做网站去哪个公司好网站策划书模板
  • 企业工商信息查询官网seo教程百度网盘
  • 小程序开发需要什么基础优化手机流畅度的软件
  • 做网站需要用到的软件百度推广业务员
  • wordpress 视频模版seo怎么优化方案
  • 企业网站的建立流程的第一步是站长工具 忘忧草