纠纷奇闻作文社交美文家庭
聚热点
家庭城市
爱好生活
创业男女
能力餐饮
美文职业
心理周易
母婴奇趣
两性技能
社交传统
新闻范文
工作个人
思考社会
作文职场
家居中考
兴趣安全
解密魅力
奇闻笑话
写作笔记
阅读企业
饮食时事
纠纷案例
初中历史
说说童话
乐趣治疗

算法面试高频题难度35,数学与并查集的结合

2月10日 枯心人投稿
  题目描述
  这是LeetCode上的952。按公因数计算最大组件大小,难度为困难。
  Tag:数学、并查集
  给定一个由不同正整数的组成的非空数组nums,考虑下面的图:有nums。length个节点,按从nums〔0〕到nums〔nums。length1〕标记;只有当nums〔i〕和nums〔j〕共用一个大于111的公因数时,nums〔i〕和nums〔j〕之间才有一条边。
  返回图中最大连通组件的大小。
  示例1:
  输入:nums〔4,6,15,35〕输出:4
  示例2:
  输入:nums〔20,50,9,63〕输出:2
  示例3:
  输入:nums〔2,3,6,7,4,12,21,39〕输出:8
  提示:1nums。length21041nums。length2imes1041nums。length21041nums〔i〕1051nums〔i〕1051nums〔i〕105nums中所有值都不同枚举质因数并查集
  先考虑如何使用nums进行建图,nums大小为n2104n2imes104n2104,枚举所有点对并通过判断两数之间是否存在边的做法复杂度为O(n2M)O(n2sqrt{M})O(n2M)(其中M1e5M1e5M1e5为nums〔i〕nums〔i〕nums〔i〕的最大值),无须考虑。
  而不通过枚举点求公约数的建图方式,可以对nums〔i〕nums〔i〕nums〔i〕进行质因数分解(复杂度为O(nums〔i〕)O(sqrt{nums〔i〕})O(nums〔i〕)),假设其分解出来的质因数集合为SSS,我们可以建立从SkS{k}Sk到nums〔i〕nums〔i〕nums〔i〕的映射关系,若nums〔i〕nums〔i〕nums〔i〕与nums〔j〕nums〔j〕nums〔j〕存在边,则nums〔i〕nums〔i〕nums〔i〕和nums〔j〕nums〔j〕nums〔j〕至少会被同一个质因数所映射。
  维护连通块数量可以使用并查集来做,维护映射关系可以使用哈希表来做。
  维护映射关系时,使用质因数为key,下标值iii为value(我们使用下标iii作为点编号,而不是使用nums〔i〕nums〔i〕nums〔i〕,是利用nums〔i〕nums〔i〕nums〔i〕各不相同,从而将并查集数组大小从1e51e51e5收窄到21042imes1042104)。
  同时在使用并查集维护连通块时,同步维护每个连通块大小sz以及当前最大的连通块大小ans。
  Java代码:classSolution{staticintN20010;staticint〔〕pnewint〔N〕,sznewint〔N〕;intans1;intfind(intx){if(p〔x〕!x)p〔x〕find(p〔x〕);returnp〔x〕;}voidunion(inta,intb){if(find(a)find(b))sz〔find(a)〕sz〔find(b)〕;p〔find(b)〕p〔find(a)〕;ansMath。max(ans,sz〔find(a)〕);}publicintlargestComponentSize(int〔〕nums){intnnums。MapInteger,ListIntegermapnewHashMap();for(inti0;i){intcurnums〔i〕;for(intj2;j){if(curj0)add(map,j,i);while(curj0)}if(cur1)add(map,cur,i);}for(inti0;i){p〔i〕i;sz〔i〕1;}for(intkey:map。keySet()){ListIntegerlistmap。get(key);for(inti1;ilist。size();i)union(list。get(0),list。get(i));}}voidadd(MapInteger,ListIntegermap,intkey,intval){ListIntegerlistmap。getOrDefault(key,newArrayList());list。add(val);map。put(key,list);}}
  TypeScript代码:constN20010constp:number〔〕newArraynumber(N),sznewArraynumber(N)letans0functionfind(x:number):number{if(p〔x〕!x)p〔x〕find(p〔x〕)returnp〔x〕}functionunion(a:number,b:number):void{if(find(a)find(b))returnsz〔find(a)〕sz〔find(b)〕p〔find(b)〕p〔find(a)〕ansMath。max(ans,sz〔find(a)〕)}functionlargestComponentSize(nums:number〔〕):number{constnnums。lengthconstmap:Mapnumber,ArraynumbernewMapnumber,Arraynumber()for(leti0;i){letcurnums〔i〕for(letj2;j){if(curj0)add(map,j,i)while(curj0)curj}if(cur1)add(map,cur,i)}for(leti0;i){p〔i〕i;sz〔i〕1}ans1for(constkeyofmap。keys()){constlistmap。get(key)for(leti1;ilist。i)union(list〔0〕,list〔i〕)}returnans};functionadd(map:Mapnumber,Arraynumber,key:number,val:number):void{letlistmap。get(key)if(listnull)listnewArraynumber()list。push(val)map。set(key,list)}时间复杂度:O(nM)O(nsqrt{M})O(nM)空间复杂度:O(n)O(n)O(n)
  链接:https:juejin。cnpost7214855127626104869
投诉 评论 转载

美国福布斯自俄乌冲突以来,俄罗斯亿万富豪财富正急剧减少来源:环球时报【环球时报综合报道】根据美国《福布斯》杂志最新估算,自俄乌冲突以来,西方国家对俄罗斯企业实施的制裁以及经济危机,导致俄亿万富豪的财富正在急剧减少。俄新……育种核心技术突破山东农大团队揭示植物远缘杂交新机制农业种质资源是现代种业发展的基础,加强种质资源保护和育种创新至关重要。以大白菜等十字花科蔬菜为例,自交不亲和育种以及远缘杂交育种是重要的育种技术。然而,在十字花科蔬菜的种……詹皇庆祝仪式湖人吞三连败四笔交易或成泡影季后赛概率仅剩38头条创作挑战赛北京时间2月10日,湖人106115不敌雄鹿吞下三连败。此役勒布朗詹姆斯因庆祝仪式缺席,交易达成后的新援无法登场,湖人仅8人可以登场打球,没想到这八人打得十……关于交易过后湖人的三分猜想!12人轮换几乎是板上钉钉湖人现有阵容减3加3,交易出去的威少在湖人还有上场时间,安德森和琼斯早已经DNP,而交易来的拉塞尔、比斯利、范德比尔特接下来都会上场,那么原本的十人轮换就要变成了十二人轮换了。……平平无奇古天乐烂片之王却捐百所小学一见杨过误终生!没看过古天乐演的杨过肯定不理解这句话的含义。在众多港星中,古天乐不是最帅的,也不是最优秀的,但他肯定值得被称为偶像!古天乐成长在一个四口之家,……三体最新剧版到底是否值得一看总体上,《三体》电视剧算是比较严谨的。在一些关键道具上也用了心思。但看到现在,还是发现有不少问题,特别是服化道方面。当然,这跟国内剧集的整体制作水平,包括在服化道上的投入,也有……丁俊晖呼吁拯救斯诺克运动,赛制不利于新人成长,中国恐后继无人日前,中国斯诺克领军人物丁俊晖在英国接受了当地媒体《TheMetro》的独家专访。作为世界斯诺克的知名选手,丁俊晖呼吁当下要拯救斯诺克运动,因此要做出一些改变。采访中提及了现行……2023超高性价比游戏本独显直连电脑推荐(独显笔记本电脑推荐2023超高性价比游戏本独显直连电脑推荐回到主题,我们来看下入选本高性价游戏本榜单的八大硬性标准:1。高性价比:性价比不等于便宜,价格低。它是一个综合标准。而且因人……Web3日报0131Web3日报0131StarkNet正开发基于Rust的开源定序器,增加吞吐量Kingnodes等4个验证服务商停止Secret网络验证服务SudoSwap发……算法面试高频题难度35,数学与并查集的结合题目描述这是LeetCode上的952。按公因数计算最大组件大小,难度为困难。Tag:数学、并查集给定一个由不同正整数的组成的非空数组nums,考虑下面的图:……86个项目,2343亿投资,2023光伏产业扩产五大趋势!年初电视剧《狂飙》的收视率一路狂飙,同时我国的光伏产业亦是如此,在技术上一路狂飙。P型还是N型的技术交锋,光伏产业链上下游的激烈博弈,光伏巨头产业霸主的争夺,还有行业内外……舌头胖大,有齿痕是怎么回事?中医说你脾虚了舌头也是反映身体健康的一个重要指示,舌苔,舌形,颜色,气味都有用处。现在我们看蕞明显的就是形状,齿痕舌,就是舌头边缘有像印一样痕迹。有专家表示,舌体的边缘有牙齿的痕迹,大……
凭什么我妈打地铺,你妈睡卧室?丈夫愤怒反驳我没说给你妈养老燃油车奋力反击2023年重磅新车上市你喜欢哪个?皮肤不好多喝这碗粥,益胃,润肺,喝出好气色一加Ace2功力到底有几成?数码大V抢先上手后给出这些评价收起你的面包服吧,今年这件轮胎羽绒服火了!时髦高级又保暖巴黎奥运手球如何获得参赛资格?奥运资格体系解读广州广电带你探索5G工业互联网创新应用180俱乐部有多难?现役4人入选,强如乔丹科比也没有做到老百姓如何才能预防脑梗?又有哪些征兆?医生做好这3点很重要地球和太阳上海姑娘嫁给副部长,7年后丈夫突然坦白其实我是毛主席的堂弟努比亚Z50Ultra进一步缩小系统固件仅8个不可卸载应用
头发纤维粉距离多远喷光头可以用吗王志文新剧首播收视第一,中国谍战剧,是要诞生新的王者了吗?淘气的小乌龟作文400字500字作文家乡的河TFBOYS有大事发生?王俊凯王源易烊千玺同时发了一个坏笑的小学美术教学反思汇总光绪真实容貌图光绪帝是帅哥吗女人喜欢厚脸皮的男人!发消息给喜欢的人,总是没有回复该怎么办?画家居廉,作品不卖权贵,却赠酒友脚上有哪些穴位哪些穴位代表身体健康如果遇到房屋要被强拆怎么办?

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找美丽时装彩妆资讯历史明星乐活安卓数码常识驾车健康苹果问答网络发型电视车载室内电影游戏科学音乐整形