LeetCode(349)Intersection of Two Arrays

題目

Given two arrays, write a function to compute their intersection.

Example:
Given nums1 = [1, 2, 2, 1]nums2 = [2, 2], return [2].

分析

求兩個數組的交集,結果不含重複元素。

代碼

/*349. Intersection of Two Arrays*/
#include <iostream>
#include <cstdlib>
#include <vector>
#include <map>
#include <set>

using namespace std;

class Solution {
public:
	vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
		int l1 = nums1.size(), l2 = nums2.size();

		map<int, int> m;
		set<int> s;
		for (int i = 0; i < l1; ++i)
		{
			++m[nums1[i]];
		}//for

		vector<int> ret;
		for (int i = 0; i < l2; ++i)
		{
			if (m[nums2[i]] > 0)
				s.insert(nums2[i]);
				
		}//for

		return vector<int>(s.begin(), s.end());
	}
};

int main()
{
	vector<int> v1 = { 1 }, v2 = { 1};

	vector<int> ret = Solution().intersection(v1, v2);

	for (auto iter = ret.begin(); iter != ret.end(); ++iter)
		cout << *iter << "\t";
	cout << endl;

	system("pause");
	return 0;
}


發佈了360 篇原創文章 · 獲贊 348 · 訪問量 112萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章