From 51e77c68e31c08a1d839fb3e5f67ae639d969b04 Mon Sep 17 00:00:00 2001 From: chayan das Date: Wed, 22 Oct 2025 22:46:45 +0530 Subject: [PATCH] Create 3347. Maximum Frequency of an Element After Performing Operations II --- ... an Element After Performing Operations II | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 3347. Maximum Frequency of an Element After Performing Operations II diff --git a/3347. Maximum Frequency of an Element After Performing Operations II b/3347. Maximum Frequency of an Element After Performing Operations II new file mode 100644 index 0000000..1f3c779 --- /dev/null +++ b/3347. Maximum Frequency of an Element After Performing Operations II @@ -0,0 +1,31 @@ +class Solution { +public: + int maxFrequency(vector& nums, int k, int numOperations) { + + int ans = 1; + int adjustable = 0; + + // Containers for line sweep Algo + unordered_map frequency; + set candidates; + map critical_points; + + for(int num: nums) { + frequency[num]++; + critical_points[num - k]++; + critical_points[num + k + 1]--; + candidates.insert(num); + candidates.insert(num - k); + candidates.insert(num + k + 1); + } + + for(int num: candidates) { + adjustable += critical_points.contains(num) ? critical_points[num] : 0; + int frequencyOfNum = frequency.contains(num) ? frequency[num] : 0; + int adjusted = adjustable - frequencyOfNum; + ans = max(ans, frequencyOfNum + min(adjusted, numOperations)); + } + + return ans; + } +};