Talentd
FleetCode

3346. Maximum Frequency of an Element After Performing Operations I

Medium40.1% acceptance4 companies

You are given an integer array nums and two integers k and numOperations.

You must perform an operation numOperations times on nums, where in each operation you:

  • Select an index i that was not selected in any previous operations.
  • Add an integer in the range [-k, k] to nums[i].

Return the maximum possible frequency of any element in nums after performing the operations.

Example 1:

Input: nums = [1,4,5], k = 1, numOperations = 2

Output: 2

Explanation:

We can achieve a maximum frequency of two by:

  • Adding 0 to nums[1]. nums becomes [1, 4, 5].
  • Adding -1 to nums[2]. nums becomes [1, 4, 4].

Example 2:

Input: nums = [5,11,20,20], k = 5, numOperations = 1

Output: 2

Explanation:

We can achieve a maximum frequency of two by:

  • Adding 0 to nums[1].

Constraints:

  • 1 <= nums.length <= 105
  • 1 <= nums[i] <= 105
  • 0 <= k <= 105
  • 0 <= numOperations <= nums.length

Asked at 4 companies

Hints open one at a time

Hint 1
Sort the array and try each value in range as a candidate.
37:48
Still stuck?Read 3 approaches, or watch a walkthrough.
Open solution
Loading editor…
1class Solution:
2 def maxFrequency(self, nums: List[int], k: int, numOperations: int) -> int:
3
Starter codePython 3Spaces: 4
Examples
Input
[1,4,5]
1
2
Input
[5,11,20,20]
5
1
Your code is saved on this device.Solution