gpt4 book ai didi

遍历 Int 集的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:07:30 29 4
gpt4 key购买 nike

我不确定在这里问这样的问题是否合适。我会试一试。

问题:

假设val threshold: Intval size: Int .

我正在寻找一种有效的算法来遍历所有可能的 x: Set[Int]其中 x.sum < thresholdx.size == n .只应考虑大于 0 的整数。这当然是有限数量的可能性。

我已经尝试开发一个,但即使是较小的输入也需要很长时间。

提前致谢。

最佳答案

您可以很容易地递归生成它们。下面是用 Python 编写的一些代码,但它应该直接转换为 Scala。

def sets(n, threshold, atleast=1):
if threshold <= n * (n + atleast * 2 - 1) // 2: return
if n == 0:
yield []
return
for i in xrange(atleast, threshold):
for s in sets(n - 1, threshold - i, i + 1):
yield [i] + s

print list(sets(4, 15))

关于遍历 Int 集的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20718431/

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