在 Python 中移除一个元素以得到平均 k
假设我们有一个名为 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
- 如果 s-i 等于 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
广告