LeetCode:Intersection II

class Solution
{
  public:       vector<int>intersection(vector<int> & nums1, vector<int> & nums2)       {           vector<int> res;           map<int, int> record;           for (int i = 0; i < nums1.size();++i)           {               record[nums1[i]] += 1;           }           for (int i = 0; i < nums2.size(); i++)           {               if (record[nums2[i]]>0)               {                   res.push_back(record[nums2[i]]);                   record[nums2[i]]--;               }           }           return res;       }
};
给定两个数组,编写一个函数来计算它们的交集。
输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [4,9]

与上题 两个数组的交集 类似。只不过这里使用的是 map 。

  • 遍历 num1,通过 map 容器 record 存储 num1 的元素与频率;

  • 遍历 num2 ,在 record 中查找是否有相同的元素(该元素的存储频率大于 0 ),如果有,用 map 容器resultVector 进行存储,同时该元素的频率减一。

#leetcode##C/C++#
全部评论

相关推荐

09-14 20:51
四川大学 Java
慢热的鲸鱼在学习:985加粗就行了,第二个项目来不及准备也没事,省的写了问你你还不会。你只需准备面试八股和项目场景,剩下的交给985。即使面不过也没事,面试经验是最重要的,你现在不缺时间
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务