程序在python中进行k次运算后找到最小可能的最大值

假设我们有一个称为nums的数字列表,另一个值为k。现在让我们考虑一个可以从列表中的任何元素减去1的操作。我们可以执行此操作k次。经过k次此类操作后,我们必须在列表中找到最小值。

因此,如果输入像nums = [3,4,6,5] k = 6,则输出将为3,因为我们可以减少4次,6次和5次两次以获得[3,3,3, 3]。

为了解决这个问题,我们将按照以下步骤操作:

让我们看下面的实现以更好地理解:

示例

class Solution:

   def solve(self, nums, k):

      nums.sort(reverse=True)

      i = 0

      curr = nums[0]

      while k > 0:

         while i < len(nums) and nums[i] == curr:

            i += 1

         if k >= i:

            k -= i

            curr -= 1

         else:

            return curr

      return curr

ob = Solution()nums = [3, 4, 6, 5]

k = 6

print(ob.solve(nums, k))

输入值

[3, 4, 6, 5], 6

输出结果

3

以上是 程序在python中进行k次运算后找到最小可能的最大值 的全部内容, 来源链接: utcz.com/z/361585.html

回到顶部