删除一个以在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