哈希表
#include <unordered_map>
class Solution {
public:
vector<vector<int>> findDifference(vector<int>& nums1, vector<int>& nums2) {
unordered_map<int, int> nums1_map;
unordered_map<int, int> nums2_map;
vector<vector<int>> res;
res.reserve(2);
for (int i = 0; i < nums1.size(); i++) {
nums1_map[nums1[i]] = 1;
}
for (int i = 0; i < nums2.size(); i++) {
nums2_map[nums2[i]] = 1;
}
vector<int> nums1_res;
for (int i = 0; i < nums1.size(); i++) {
if (nums2_map.count(nums1[i]) == 0 &&
find(nums1_res.begin(), nums1_res.end(), nums1[i]) == nums1_res.end()) {
nums1_res.emplace_back(nums1[i]);
}
}
vector<int> nums2_res;
for (int i = 0; i < nums2.size(); i++) {
if (nums1_map.count(nums2[i]) == 0 &&
find(nums2_res.begin(), nums2_res.end(), nums2[i]) == nums2_res.end()) {
nums2_res.emplace_back(nums2[i]);
}
}
res.emplace_back(nums1_res);
res.emplace_back(nums2_res);
return res;
}
}