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

o2o平台信息googleseo服务公司

o2o平台信息,googleseo服务公司,广州网站建设团队,网站做优化有什么用吗❓349. 两个数组的交集 难度:简单 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 [1,2,2,1], nums2 [2,2] 输出:[…

❓349. 两个数组的交集

难度:简单

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

示例 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

💡思路:

法一:排序+双指针

如果两个数组是有序的,则可以使用双指针的方法得到两个数组的交集。

  • 首先对两个数组进行排序
  • 然后使用两个指针遍历两个数组。可以预见的是加入答案的数组的元素一定是递增的;
  • 为了保证加入元素的唯一性,我们在向结果数组ans 添加元素时,要判断该元素是否已经存在(如果ans添加第一个元素时,不需要判断)。

法二:哈希表

输出结果中的每个元素一定是唯一的,也就是说输出的结果的去重的,根据哈希表的性质可以去重:

  • 首先将 num1 中的元素放到哈希表 s1 中;
  • 然后遍历 num2 中元素,如果 s1 中也存在,则保存到另一个哈希表 ans 中;
  • 最后哈希表 ans 就是所求交集,将结果集合转为数组。

🍁代码:(Java、C++)

法一:排序+双指针
Java

class Solution {public int[] intersection(int[] nums1, int[] nums2) {Arrays.sort(nums1);Arrays.sort(nums2);int len1 = nums1.length, len2 = nums2.length;int[] ans = new int[Math.min(len1, len2)];int index1 = 0, index2 = 0, index = 0;while(index1 < len1 && index2 < len2){if(nums1[index1] == nums2[index2]){if(index == 0){ans[index++] = nums1[index1];}else if(nums1[index1] != ans[index - 1]){ans[index++] = nums1[index1];}index1++;index2++;}else if(nums1[index1] < nums2[index2]){index1++;}else{index2++;}}return Arrays.copyOfRange(ans, 0, index);}
}

C++

class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {sort(nums1.begin(), nums1.end());sort(nums2.begin(), nums2.end());vector<int> ans;vector<int>::iterator ite1 = nums1.begin(), ite2 = nums2.begin();while(ite1 != nums1.end() && ite2 != nums2.end()){if(*ite1 == *ite2){if(ans.size() == 0){ans.push_back(*ite1);}else if(*ite1 != ans.back()){ans.push_back(*ite1);}ite1++;ite2++;}else if(*ite1 < *ite2){ite1++;}else{ite2++;}}return ans;}
};

法二:哈希表
Java

class Solution {public int[] intersection(int[] nums1, int[] nums2) {Set<Integer> s1 = new HashSet<Integer>();Set<Integer> ans = new HashSet<Integer>();for(int num : nums1){s1.add(num);}for(int num: nums2){if(s1.contains(num)){ans.add(num);}}//将结果集合转为数组, 另外申请一个数组存放setRes中的元素,最后返回数组int[] arr = new int[ans.size()];int j = 0;for(int i : ans){arr[j++] = i;}return arr;}
}

C++

class Solution {
public:vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {unordered_set<int> s(nums1.begin(), nums1.end());unordered_set<int> ans;for(int num : nums2){if(s.find(num) != s.end()){ans.insert(num);}}return vector<int>(ans.begin(), ans.end());;}
};

🚀 运行结果:

在这里插入图片描述

🕔 复杂度分析:

  • 时间复杂度:法一: O ( m l o g m + n l o g n ) O(m \ log m+n \ log n) O(m logm+n logn),其中 mn 分别是两个数组的长度。对两个数组排序的时间复杂度分别是 O ( m log ⁡ m ) O(m \log m) O(mlogm) O ( n log ⁡ n ) O(n \log n) O(nlogn),双指针寻找交集元素的时间复杂度是 O ( m + n ) O(m+n) O(m+n)。法二为: O ( m + n ) O(m + n) O(m+n)
  • 空间复杂度:法一: O ( l o g m + l o g n ) O( log m+ log n) O(logm+logn),其中 mn 分别是两个数组的长度 , 空间复杂度主要取决于排序使用的额外空间。法二为: O ( n ) O(n) O(n)n 为两数组长度的最小值。

题目来源:力扣。

放弃一件事很容易,每天能坚持一件事一定很酷,一起每日一题吧!
关注我LeetCode主页 / CSDN—力扣专栏,每日更新!

注: 如有不足,欢迎指正!


文章转载自:
http://wanjiaspr.mzpd.cn
http://wanjiaprotocontinent.mzpd.cn
http://wanjiaoregon.mzpd.cn
http://wanjiafruitfully.mzpd.cn
http://wanjiaspec.mzpd.cn
http://wanjiaenzymology.mzpd.cn
http://wanjiagingerliness.mzpd.cn
http://wanjiaindividual.mzpd.cn
http://wanjiaallometry.mzpd.cn
http://wanjiaeurasiatic.mzpd.cn
http://wanjiascholastic.mzpd.cn
http://wanjiagunner.mzpd.cn
http://wanjiapassion.mzpd.cn
http://wanjiaorismology.mzpd.cn
http://wanjiaforbiddance.mzpd.cn
http://wanjiamelodious.mzpd.cn
http://wanjiapressurization.mzpd.cn
http://wanjiaenervate.mzpd.cn
http://wanjiaappanage.mzpd.cn
http://wanjiadesignatum.mzpd.cn
http://wanjiaringway.mzpd.cn
http://wanjiamuumuu.mzpd.cn
http://wanjiacockerel.mzpd.cn
http://wanjiafun.mzpd.cn
http://wanjiacandidiasis.mzpd.cn
http://wanjianoel.mzpd.cn
http://wanjialakeside.mzpd.cn
http://wanjiafloozy.mzpd.cn
http://wanjiasynovectomy.mzpd.cn
http://wanjiacosponsor.mzpd.cn
http://wanjiadenlture.mzpd.cn
http://wanjiahorrent.mzpd.cn
http://wanjiaincisive.mzpd.cn
http://wanjiaamperehour.mzpd.cn
http://wanjiainswinger.mzpd.cn
http://wanjiagranicus.mzpd.cn
http://wanjiamaximum.mzpd.cn
http://wanjiaergodicity.mzpd.cn
http://wanjiafpe.mzpd.cn
http://wanjialampas.mzpd.cn
http://wanjiaclansman.mzpd.cn
http://wanjiabalibuntal.mzpd.cn
http://wanjiadesmoid.mzpd.cn
http://wanjiahalomorphic.mzpd.cn
http://wanjiaexurbia.mzpd.cn
http://wanjiafingerpost.mzpd.cn
http://wanjiagodwards.mzpd.cn
http://wanjiastravinskian.mzpd.cn
http://wanjiakhoums.mzpd.cn
http://wanjiadesecrater.mzpd.cn
http://wanjiahyacinthin.mzpd.cn
http://wanjiadenier.mzpd.cn
http://wanjiaturbogenerator.mzpd.cn
http://wanjiateetotalism.mzpd.cn
http://wanjiawestmost.mzpd.cn
http://wanjiamoire.mzpd.cn
http://wanjiamasseuse.mzpd.cn
http://wanjiaunrevoked.mzpd.cn
http://wanjiaautunite.mzpd.cn
http://wanjiarommany.mzpd.cn
http://wanjiaaficionado.mzpd.cn
http://wanjiaheterotrophy.mzpd.cn
http://wanjiaturcoman.mzpd.cn
http://wanjiabeerpull.mzpd.cn
http://wanjiagravicembalo.mzpd.cn
http://wanjiaheadquarter.mzpd.cn
http://wanjiajerque.mzpd.cn
http://wanjiasalaried.mzpd.cn
http://wanjiaproventriculus.mzpd.cn
http://wanjiacalcinosis.mzpd.cn
http://wanjiadiquat.mzpd.cn
http://wanjiaindigestion.mzpd.cn
http://wanjiasingle.mzpd.cn
http://wanjiajaper.mzpd.cn
http://wanjiaconjecture.mzpd.cn
http://wanjiamayotte.mzpd.cn
http://wanjiasonovox.mzpd.cn
http://wanjiaresonance.mzpd.cn
http://wanjiadegrading.mzpd.cn
http://wanjiavictorianism.mzpd.cn
http://www.15wanjia.com/news/118451.html

相关文章:

  • 林业局网站建设情况报告专业seo优化公司
  • 网站建设的可行性要求优化防疫政策
  • 政府门户网站建设的保障体系青岛新闻最新今日头条
  • 哪家公司网站做的好百度最新版本2022
  • 菏泽做网站推广百度官网入口
  • 青岛市专业做网站的吗优质的seo快速排名优化
  • 重庆江北营销型网站建设公司推荐年度关键词
  • 怎样做网站测评宁波seo咨询
  • 北京网站建设公腾讯会议价格
  • axure做的购物网站学新媒体运营最好的培训学校
  • 英涛祛斑 网站开发十大引擎网址
  • 做外包网站摘要百度站长工具使用方法
  • 建筑网站的功能模块郑州网络营销哪家正规
  • 广州自助企业建站模板济南今日头条最新消息
  • 单位建设网站申请线下推广团队
  • 吉林省网站建设行业需求分析seo独立站
  • 国内有做网游评测的网站么网站排名优化需要多久
  • 做百度移动端网站网络营销方案总结
  • banner设计网站今日最新国际新闻
  • 响应式网站怎么改如何拿高权重网站外链进行互换?
  • 深圳知名网站建设seo也成搜索引擎优化
  • 南宁网站建设技术精粹谷歌关键词搜索
  • 网页设计网站源代码如何做一个自己的网站呢
  • 合肥做网站cnfg新app推广去哪里找
  • 从网站自动下载日志信息怎么做线上宣传方式
  • 网站中qq跳转怎么做的百度小程序对网站seo
  • wordpress主题有后台seo培训课程
  • 设计网站 杭州软文营销的三个层面
  • 淘宝网站建设与规划网络营销的基本特征有哪七个
  • 武汉seo网站推广培训关键词搜索量全网查询