#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// Function to purge duplicates
void purgeDuplicates(vector<int>& vec) {
// Sort the list to bring duplicates together
sort(vec.begin(), vec.end());
// Remove duplicates using unique and erase
auto last = unique(vec.begin(), vec.end());
vec.erase(last, vec.end());
}
// Function to reverse the list
void reverseList(vector<int>& vec) {
reverse(vec.begin(), vec.end());
}
int main() {
vector<int> myList = {10, 20, 30, 20, 60, 2};
// Display the list
cout << "List is: ";
for (int n : myList) {
cout << n << " ";
}
cout << endl;
// Display the size of the list
cout << "Size: " << myList.size() << endl;
// Purge duplicates
purgeDuplicates(myList);
// Display the list after purge
cout << "After purge: List is: ";
for (int n : myList) {
cout << n << " ";
}
cout << endl;
// Reverse the list
reverseList(myList);
// Display the list after reverse
cout << "After reverse: List is: ";
for (int n : myList) {
cout << n << " ";
}
cout << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIEZ1bmN0aW9uIHRvIHB1cmdlIGR1cGxpY2F0ZXMKdm9pZCBwdXJnZUR1cGxpY2F0ZXModmVjdG9yPGludD4mIHZlYykgewogICAgLy8gU29ydCB0aGUgbGlzdCB0byBicmluZyBkdXBsaWNhdGVzIHRvZ2V0aGVyCiAgICBzb3J0KHZlYy5iZWdpbigpLCB2ZWMuZW5kKCkpOwogICAgCiAgICAvLyBSZW1vdmUgZHVwbGljYXRlcyB1c2luZyB1bmlxdWUgYW5kIGVyYXNlCiAgICBhdXRvIGxhc3QgPSB1bmlxdWUodmVjLmJlZ2luKCksIHZlYy5lbmQoKSk7CiAgICB2ZWMuZXJhc2UobGFzdCwgdmVjLmVuZCgpKTsKfQoKLy8gRnVuY3Rpb24gdG8gcmV2ZXJzZSB0aGUgbGlzdAp2b2lkIHJldmVyc2VMaXN0KHZlY3RvcjxpbnQ+JiB2ZWMpIHsKICAgIHJldmVyc2UodmVjLmJlZ2luKCksIHZlYy5lbmQoKSk7Cn0KCmludCBtYWluKCkgewogICAgdmVjdG9yPGludD4gbXlMaXN0ID0gezEwLCAyMCwgMzAsIDIwLCA2MCwgMn07CgogICAgLy8gRGlzcGxheSB0aGUgbGlzdAogICAgY291dCA8PCAiTGlzdCBpczogIjsKICAgIGZvciAoaW50IG4gOiBteUxpc3QpIHsKICAgICAgICBjb3V0IDw8IG4gPDwgIiAiOwogICAgfQogICAgY291dCA8PCBlbmRsOwoKICAgIC8vIERpc3BsYXkgdGhlIHNpemUgb2YgdGhlIGxpc3QKICAgIGNvdXQgPDwgIlNpemU6ICIgPDwgbXlMaXN0LnNpemUoKSA8PCBlbmRsOwoKICAgIC8vIFB1cmdlIGR1cGxpY2F0ZXMKICAgIHB1cmdlRHVwbGljYXRlcyhteUxpc3QpOwoKICAgIC8vIERpc3BsYXkgdGhlIGxpc3QgYWZ0ZXIgcHVyZ2UKICAgIGNvdXQgPDwgIkFmdGVyIHB1cmdlOiBMaXN0IGlzOiAiOwogICAgZm9yIChpbnQgbiA6IG15TGlzdCkgewogICAgICAgIGNvdXQgPDwgbiA8PCAiICI7CiAgICB9CiAgICBjb3V0IDw8IGVuZGw7CgogICAgLy8gUmV2ZXJzZSB0aGUgbGlzdAogICAgcmV2ZXJzZUxpc3QobXlMaXN0KTsKCiAgICAvLyBEaXNwbGF5IHRoZSBsaXN0IGFmdGVyIHJldmVyc2UKICAgIGNvdXQgPDwgIkFmdGVyIHJldmVyc2U6IExpc3QgaXM6ICI7CiAgICBmb3IgKGludCBuIDogbXlMaXN0KSB7CiAgICAgICAgY291dCA8PCBuIDw8ICIgIjsKICAgIH0KICAgIGNvdXQgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQo=