Advertisement
Razhagal

Untitled

Dec 12th, 2017
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.77 KB | None | 0 0
  1. std::vector<int> intersection(const std::vector<int>& a, const std::vector<int>& b){
  2.     std::vector<int> merged = std::vector<int>(a);
  3.  
  4.     for (auto&& i : b){
  5.         merged.push_back(i);
  6.     }
  7.  
  8.     qsort(&(*merged.begin()), merged.size(), sizeof(int), [](const void* a1, const void* a2)
  9.     {
  10.         void *a1num = const_cast<void*> (a1),
  11.              *a2num = const_cast<void*> (a2);
  12.  
  13.         return (*reinterpret_cast<int*>(a1num) > *reinterpret_cast<int*>(a2num)) ? 1 : -1;
  14.     });
  15.  
  16.     int last = merged[0];
  17.  
  18.     std::vector<int> intersection;
  19.  
  20.     for (auto i = merged.begin() + 1; i < merged.end(); i++)
  21.     {
  22.         if (last == *i)
  23.         {
  24.             intersection.push_back(last);
  25.         }
  26.         last = *i;
  27.     }
  28.     return intersection;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement