检查数组是否有一个元素等于 Python 中所有剩余元素的总和
假设我们有一个名为 nums 的数组,我们必须检查该数组是否包含一个元素,其值与所有其他元素的总和相同。
因此,如果输入类似于 nums = [3,2,10,4,1],那么输出将为 True,10 = (3+2+4+1)。
为了解决这个问题,我们将按照以下步骤操作 -
freq := 空映射
总计:= 0
对于范围 0 到 nums - 1 大小的 i,请执行
频率[nums[i]] := 频率[nums[i]] + 1
总计 := 总计 + nums[i]
如果总数是偶数,那么
返回真
如果 freq[(total / 2)] 的商不为零,则
返回错误
让我们看看以下实现以获得更好的理解 -
示例代码
from collections import defaultdictdef solve(nums):
freq = defaultdict(int)
total = 0
for i in range(len(nums)):
freq[nums[i]] += 1
total += nums[i]
if total % 2 == 0:
if freq[total // 2]:
return True
return False
nums = [3,2,10,4,1]
print(solve(nums))
输入
[3,2,10,4,1]输出结果
True
以上是 检查数组是否有一个元素等于 Python 中所有剩余元素的总和 的全部内容, 来源链接: utcz.com/z/356518.html