在 Python 中移除一个元素使平均值等于 k

pythonserver side programmingprogramming更新于 2025/12/26 16:44:17

假设我们有一个名为 nums 的数字列表和一个整数 k,我们必须检查是否可以从列表中移除一个元素以使平均值等于 k。现在我们必须记住,有一些限制 −

  • 2 ≤ n ≤ 1,000,其中 n 是 nums 列表的元素数
  • nums[i], k ≤ 1,000,000

因此,如果输入为 [5,3,2,4,6,10],k = 4,则输出将为 True,就像我们删除 10 一样,元素的平均值将为 (5+3+2+4+6)/5 = 4,这与 k 相同。

要解决这个问题,我们将遵循以下步骤 −

  • s:= nums 中所有元素的总和
  • t := k*(nums 的大小 - 1)
  • 对于 nums 中的每个 i,执行
    • 如果 s-i 与 t 相同,则
      • 返回 True
  • 返回 False

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

示例

class Solution:
   def solve(self, nums, k):
      s=sum(nums)
      t = k*(len(nums)-1)
      for i in nums:
         if s-i == t:
            return True
      return False
ob = Solution()
nums = [5,3,2,4,6,10]
k = 4
print(ob.solve(nums, k))

输入

[5,3,2,4,6,10], 4

输出

True

相关文章


有用资源