删除一个以在Python中平均k

假设我们有一个称为nums和整数k的数字列表,我们必须检查是否可以从列表中删除一个元素,以使平均值等于k。现在我们要记住,存在一些约束-

  • 2≤n≤1,000,其中n是数字列表的元素数

  • 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:=以num为单位的所有元素的总和

  • t:= k *(数字大小-1)

  • 对于每个以数字表示的i

    • 返回True

    • 如果si与t相同,则

    • 返回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