C++ || OPTIMISED EASY TO UNDERSTAND
Code\n\nclass Solution {\npublic:\n    vector<vector<int>> findDifference(vector<int>& nums1, vector<int>& nums2) {\n        unordered_map<int,int> mp;\n       
# Code\n```\nclass Solution {\npublic:\n    vector<vector<int>> findDifference(vector<int>& nums1, vector<int>& nums2) {\n        unordered_map<int,int> mp;\n        vector<vector<int>> v(2);\n        for(auto &i: nums1){\n            if(mp.count(i)==0)mp[i]++;\n        }\n        for(auto &i: nums2){\n            if(mp.count(i)){\n                if(mp[i])mp[i]--;\n            }else{\n                mp[i]--;\n            }\n        }\n        for(auto &i: mp){\n            if(i.second>0)v[0].push_back(i.first);\n            else if(i.second<0) v[1].push_back(i.first);\n        }\n        return v;\n    }\n};\n```
['Array', 'Hash Table', 'C++']