题目
https://leetcode.cn/problems/find-the-difference-of-two-arrays/description/?envType=study-plan-v2&envId=leetcode-75
思考
answer[0],nums1有,nums2没有的数字
answer[1],nums2有,nums1没有的数字
使用c++的unordered_set
也就是hash
表即可
代码
class Solution {
public:
vector<int> calcDiff(vector<int> &a, vector<int> &b) {
unordered_set<int> sta(a.begin(), a.end());
unordered_set<int> stb(b.begin(), b.end());
vector<int> ans;
for (int x : sta) {
if (stb.count(x) == 0) {
ans.push_back(x);
}
}
return ans;
}
vector<vector<int>> findDifference(vector<int>& nums1, vector<int>& nums2) {
// answer[0], nums1有,nums2没有
// answer[1],nums1
return vector<vector<int>>{calcDiff(nums1, nums2), calcDiff(nums2, nums1)};
}
};