Skip to content

Commit a2b4f77

Browse files
committed
Time: 1188 ms (5.03%), Space: 99.4 MB (5.13%) - LeetHub
1 parent 6739b11 commit a2b4f77

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import java.util.*;
2+
3+
class Solution {
4+
public int maxFrequency(int[] nums, int k, int numOperations) {
5+
Map<Integer, Integer> freqMap = new HashMap<>();
6+
TreeMap<Integer, Integer> rangeMap = new TreeMap<>();
7+
Set<Integer> points = new TreeSet<>();
8+
9+
for (int num : nums) {
10+
freqMap.put(num, freqMap.getOrDefault(num, 0) + 1);
11+
rangeMap.put(num - k, rangeMap.getOrDefault(num - k, 0) + 1);
12+
rangeMap.put(num + k + 1, rangeMap.getOrDefault(num + k + 1, 0) - 1);
13+
points.add(num);
14+
points.add(num - k);
15+
points.add(num + k + 1);
16+
}
17+
18+
19+
int ans = 1;
20+
int sum = 0;
21+
22+
for (int point : points) {
23+
sum += rangeMap.getOrDefault(point, 0);
24+
int frequency = freqMap.getOrDefault(point, 0);
25+
ans = Math.max(ans, frequency + Math.min(sum - frequency, numOperations));
26+
}
27+
28+
return ans;
29+
}
30+
}

0 commit comments

Comments
 (0)