Skip to content

Commit adbb779

Browse files
authored
Create 3347. Maximum Frequency of an Element After Performing Operati… (#914)
2 parents feacf61 + 51e77c6 commit adbb779

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
class Solution {
2+
public:
3+
int maxFrequency(vector<int>& nums, int k, int numOperations) {
4+
5+
int ans = 1;
6+
int adjustable = 0;
7+
8+
// Containers for line sweep Algo
9+
unordered_map<int, int> frequency;
10+
set<int> candidates;
11+
map<int, int> critical_points;
12+
13+
for(int num: nums) {
14+
frequency[num]++;
15+
critical_points[num - k]++;
16+
critical_points[num + k + 1]--;
17+
candidates.insert(num);
18+
candidates.insert(num - k);
19+
candidates.insert(num + k + 1);
20+
}
21+
22+
for(int num: candidates) {
23+
adjustable += critical_points.contains(num) ? critical_points[num] : 0;
24+
int frequencyOfNum = frequency.contains(num) ? frequency[num] : 0;
25+
int adjusted = adjustable - frequencyOfNum;
26+
ans = max(ans, frequencyOfNum + min(adjusted, numOperations));
27+
}
28+
29+
return ans;
30+
}
31+
};

0 commit comments

Comments
 (0)