Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <unordered_set>
- using namespace std;
- void qSortVector(vector<int>&,int,int);
- int Partition(vector<int>&,int,int);
- int main() {
- vector<int> duplicates;
- unordered_set<int> hashset;
- int n;
- cin>>n;
- for (int k = 0; k<n; k++) {
- int temp;
- cin>> temp;
- if (hashset.find(temp) == hashset.end()) {
- hashset.insert(temp);
- }
- else{
- duplicates.push_back(temp);
- // cout<<"DUPLICATE : "<<temp<<endl;
- }
- }
- qSortVector(duplicates,0,duplicates.size()-1);
- // for(int i = 0; i<duplicates.size(); i++) {
- // //cout<<duplicates[i]<<" KEK"<<endl;
- // }
- //bool checked = 0;
- int lastNum = duplicates[0];
- cout<<lastNum<<endl;
- for(int i = 1; i < duplicates.size(); i++) {
- if (duplicates[i] != lastNum){
- cout<<duplicates[i]<<endl;
- lastNum = duplicates[i];
- }
- }
- return 0;
- }
- void qSortVector(vector<int> &vec,int start,int end) {
- if (start < end) {
- int q = Partition(vec,start,end);
- qSortVector(vec,start,q-1);
- qSortVector(vec,q+1,end);
- }
- }
- int Partition(vector<int> &vec,int start,int end) {
- int pivot = vec[end];
- int i = start;
- for(int j = start; j<end;j++) {
- if (vec[j] <= pivot) {
- swap(vec[i], vec[j]);
- i++;
- }
- }
- swap(vec[i], vec[end]);
- return i;
- }
Add Comment
Please, Sign In to add comment