#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
vector<int> result;
for (int i = 0; i < nums1.size(); i++) {
for (int j = 0; j < nums2.size(); j++) {
if (nums1[i] == nums2[j]) {
bool exists = false;
for (int k = 0; k < result.size(); k++) {
if (result[k] == nums1[i]) {
exists = true;
break;
}
}
if (!exists) {
result.push_back(nums1[i]);
}
break; // stop checking nums2 once match is found
}
}
}
return result;
}
};
int main() {
Solution solution;
vector<int> nums1 = {1, 2, 2, 1};
vector<int> nums2 = {2, 2};
vector<int> result = solution.intersection(nums1, nums2);
cout << "Intersection: ";
for (int num : result) {
cout << num << " ";
}
cout << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgU29sdXRpb24gewpwdWJsaWM6CiAgICB2ZWN0b3I8aW50PiBpbnRlcnNlY3Rpb24odmVjdG9yPGludD4mIG51bXMxLCB2ZWN0b3I8aW50PiYgbnVtczIpIHsKCiAgICAgICAgdmVjdG9yPGludD4gcmVzdWx0OwoKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bXMxLnNpemUoKTsgaSsrKSB7CiAgICAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgbnVtczIuc2l6ZSgpOyBqKyspIHsKCiAgICAgICAgICAgICAgICBpZiAobnVtczFbaV0gPT0gbnVtczJbal0pIHsKCiAgICAgICAgICAgICAgICAgICAgYm9vbCBleGlzdHMgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBmb3IgKGludCBrID0gMDsgayA8IHJlc3VsdC5zaXplKCk7IGsrKykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0W2tdID09IG51bXMxW2ldKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGlzdHMgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGlmICghZXhpc3RzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoX2JhY2sobnVtczFbaV0pOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7IC8vIHN0b3AgY2hlY2tpbmcgbnVtczIgb25jZSBtYXRjaCBpcyBmb3VuZAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgfQp9OwoKaW50IG1haW4oKSB7CiAgICBTb2x1dGlvbiBzb2x1dGlvbjsKCiAgICB2ZWN0b3I8aW50PiBudW1zMSA9IHsxLCAyLCAyLCAxfTsKICAgIHZlY3RvcjxpbnQ+IG51bXMyID0gezIsIDJ9OwoKICAgIHZlY3RvcjxpbnQ+IHJlc3VsdCA9IHNvbHV0aW9uLmludGVyc2VjdGlvbihudW1zMSwgbnVtczIpOwoKICAgIGNvdXQgPDwgIkludGVyc2VjdGlvbjogIjsKICAgIGZvciAoaW50IG51bSA6IHJlc3VsdCkgewogICAgICAgIGNvdXQgPDwgbnVtIDw8ICIgIjsKICAgIH0KICAgIGNvdXQgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQo=