Thursday, 6 April 2017

Geeksforgeeks Solution For " Distinct absolute array elements "

GeeksforGeeks Solution For Hard Domain .Below You Can Find The Solution Of  School Basic ,Easy ,Medium . Or Hackerrank Solution You Can Also Direct Submit Your Solution to Geeksforgeeks Same Problem .You Need to login then you can submit you answers 

Problem :- Distinct absolute array elements

Submit Your Solution :- Click Here 

Solution :- 

Method 1 :-

#include <bits/stdc++.h>
using namespace std;
typedef unordered_map<int,int> um;
int main() {
//code
int t,num;
cin>>t;
um temp;
while(t--){
   int n;
   cin>>n;
   while(n--){
       cin>>num;
      temp[abs(num)]++;
   }
   cout<<temp.size()<<endl;
   temp.clear();
}
return 0;
}

Method 2 :-

#include <iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main() 
{
int t,c;
        cin>>t;
while(t--)
{
   int i,n;
   c=0;
   cin>>n;
   vector<int> ar(n);
   char s[n];
   
   for(i=0;i<n;i++)
   {
       cin>>ar[i];
   }
   for(i=0;i<n;i++)
   {
       ar[i]=abs(ar[i]);
   }
   sort(ar.begin(),ar.end());
   
   for(i=0;i<n;i++)
   {
       if(ar[i]=='$')
          c=1;
       if(ar[i]==ar[i+1])
           ar[i]='$';
   }
   for(i=0;i<n;i++)
   {
       if(ar[i]=='$')
         continue;
          c++;//cout<<ar[i]<<"\n";
   }
   cout<<c<<"\n";
   
}
 
return 0;

}

Output:-



Geeksforgeeks Solution For " Distinct absolute array elements "

No comments:
Write comments

Recommended Posts × +