gpt4 book ai didi

python - Python 中的 4 和算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:23:59 25 4
gpt4 key购买 nike

<分区>

我试图找出一个列表是否有 4 个总和为 0 的元素(然后找出这些元素是什么)。我正在尝试根据 https://cs.stackexchange.com/questions/2973/generalised-3sum-k-sum-problem 中描述的 even k 算法制定解决方案.

我使用标准库中的 combinations 在 Python 中获取此代码

def foursum(arr):
seen = {sum(subset) for subset in combinations(arr,2)}
return any(-x in seen for x in seen)

但是对于 [-1, 1, 2, 3] 这样的输入,这会失败。它失败了,因为它将总和 (-1+1) 与自身相匹配。我认为当我想找到元素时这个问题会变得更糟,因为您可以通过 6 种方式将一组 4 个不同的项目分成 2 组,每组 2 个项目:{1,4}+{-2,-3}, { 1,-2}+{4,-3} 等等等等

我怎样才能制作一个正确返回所有解决方案的算法来避免这个问题?编辑:我应该补充说我想使用尽可能高效的算法。 O(len(arr)^4) 对于我的任务来说太慢了...

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com