Skip to content

Commit c4674d3

Browse files
committed
Add
1 parent dffab85 commit c4674d3

7 files changed

+177
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#include <unordered_map>
2+
int highestFrequency(int arr[], int n) {
3+
// Write your code here
4+
int max=0,count=0;
5+
unordered_map<int,int> seen;
6+
for(int i=0;i<n;i++){
7+
seen[arr[i]]++;
8+
if(seen[arr[i]]>count){
9+
count=seen[arr[i]];
10+
}
11+
}
12+
for(int i=0;i<n;i++){
13+
if(count==seen[arr[i]]){
14+
return arr[i];
15+
}
16+
}
17+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#include <bits/stdc++.h>
2+
void printIntersection(int arr1[], int arr2[], int n, int m) {
3+
// Write your code here
4+
unordered_map<int,int> seen;
5+
for(int i=0;i<n;i++){
6+
seen[arr1[i]]++;
7+
}
8+
for(int i=0;i<m;i++){
9+
if(seen.count(arr2[i])==1 && seen[arr2[i]]>0){
10+
cout<<arr2[i]<<endl;
11+
seen[arr2[i]]--;
12+
}
13+
}
14+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#include <bits/stdc++.h>
2+
int pairSum(int *arr, int n) {
3+
// Write your code here
4+
// unordered_map<int,int> seen;
5+
// int count=0;
6+
// for(int i=0;i<n;i++){
7+
// seen[arr[i]]++;
8+
// }
9+
// unordered_map<int,int> :: iterator it = seen.begin();
10+
// while(it!=seen.end()){
11+
// int f = it->second;
12+
// int s = seen[0-(it->first)];
13+
// count+=(f*s);
14+
// seen[0-(it->first)]=0;
15+
// it++;
16+
// }
17+
// return count;
18+
unordered_map<int, int>map;
19+
int k=0;
20+
int count=0;
21+
for(int i=0;i<n;i++){
22+
int a=k-arr[i];
23+
if(map.count(a)==1){
24+
count+=map[a];
25+
}
26+
map[arr[i]]++;
27+
}
28+
return count;
29+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#include<unordered_map>
2+
#include<string>
3+
string uniqueChar(string str) {
4+
// Write your code here
5+
string st;
6+
unordered_map<char,int> seen;
7+
for(int i=0;i<str.length();i++){
8+
if(seen.count(str[i])==0){
9+
st+=str[i];
10+
}
11+
seen[str[i]]++;
12+
}
13+
return st;
14+
15+
}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#include <bits/stdc++.h>
2+
vector<int> helper(int* arr,int n){
3+
unordered_map<int,int> map;
4+
for(int i=0;i<n;i++) map[arr[i]]++;
5+
6+
int start;
7+
int end;
8+
int max = INT_MIN;
9+
for(int i=0;i<n;i++){
10+
int count=0;
11+
int temp = arr[i];
12+
while(map.count(temp+1)==1){
13+
count++;
14+
temp++;
15+
}
16+
if(count>max){
17+
start=arr[i];
18+
end=temp;
19+
max=count;
20+
}
21+
}
22+
return {start,end};
23+
}
24+
vector<int> longestConsecutiveIncreasingSequence(int *arr, int n) {
25+
26+
27+
return helper(arr,n);
28+
29+
30+
31+
// Your Code goes here
32+
// unordered_map<int,int> seen;
33+
// for(int i=0;i<n;i++){
34+
// seen[arr[i]]++;
35+
// }
36+
// int max=INT_MIN;
37+
// int count=0;
38+
// int start,end;
39+
// for(int i=0;i<n;i++){
40+
// int temp = arr[i]+1;
41+
// while(seen.count(temp)==1){
42+
// count++;
43+
// temp++;
44+
// }
45+
// if(count>max){
46+
// start=arr[i];
47+
// end=temp-1;
48+
// max=count;
49+
// }
50+
// count=0;
51+
// }
52+
// vector<int> vt;
53+
// vt.push_back(start);
54+
// vt.push_back(end);
55+
// return vt;
56+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#include<unordered_map>
2+
#include<cmath>
3+
4+
int getPairsWithDifferenceK(int *arr, int n, int k) {
5+
6+
7+
unordered_map<int,int> seen;
8+
int count=0;
9+
for(int i=0;i<n;i++){
10+
int a = arr[i]+k;
11+
int b = arr[i]-k;
12+
if(seen.count(a)>=1){
13+
count+=seen[a];
14+
}
15+
else if(seen.count(b)>=1){
16+
count+=seen[b];
17+
}
18+
seen[arr[i]]++;
19+
}
20+
return count;
21+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#include <climits>
2+
#include<unordered_map>
3+
int lengthOfLongestSubsetWithZeroSum(int* arr, int n) {
4+
// Write your code here
5+
int max = INT_MIN;
6+
unordered_map<int,int> seen;
7+
int sum=0;
8+
for(int i=0;i<n;i++){
9+
sum+=arr[i];
10+
if(sum==0){
11+
if((i+1)>max){
12+
max=i+1;
13+
}
14+
}
15+
if(seen.count(sum)>=1){
16+
int temp = i-seen[sum];
17+
if(temp>max){
18+
max=temp;
19+
}
20+
}
21+
seen[sum]=i;
22+
23+
}
24+
return max;
25+
}

0 commit comments

Comments
 (0)