Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- std::vector<int> intersection(const std::vector<int>& a, const std::vector<int>& b){
- std::vector<int> merged = std::vector<int>(a);
- for (auto&& i : b){
- merged.push_back(i);
- }
- qsort(&(*merged.begin()), merged.size(), sizeof(int), [](const void* a1, const void* a2)
- {
- void *a1num = const_cast<void*> (a1),
- *a2num = const_cast<void*> (a2);
- return (*reinterpret_cast<int*>(a1num) > *reinterpret_cast<int*>(a2num)) ? 1 : -1;
- });
- int last = merged[0];
- std::vector<int> intersection;
- for (auto i = merged.begin() + 1; i < merged.end(); i++)
- {
- if (last == *i)
- {
- intersection.push_back(last);
- }
- last = *i;
- }
- return intersection;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement