用于查找 Python 中最频繁元素的频率的程序

假设我们有一个数组 nums 和另一个值 k。在一次操作中,我们可以选择一个 nums 索引并将该索引处的元素增加 1。我们必须在执行最多 k 次操作后找到元素的最大可能频率。

所以,如果输入像 nums = [8,3,6], k = 9,那么输出将是 3,因为我们可以更新 3 by 5, 6 by 2,使其成为 [8,8,8] 所以经过 7 次操作后,我们的最大频率为 3。

示例

让我们看看以下实现以获得更好的理解 -

def solve(nums, k):

   nums.sort()

   left = 0

   right = 1

   while right < len(nums):

      k -= (nums[right] - nums[right-1]) * (right - left)

      if k < 0:

         k += nums[right] - nums[left]

         left += 1

      right += 1

   return right - left

nums = [8,3,6]

k = 9

print(solve(nums, k))

输入

[8,3,6], 9
输出结果
3

以上是 用于查找 Python 中最频繁元素的频率的程序 的全部内容, 来源链接: utcz.com/z/317268.html

回到顶部