gpt4 book ai didi

java - 随机数组生成器

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

给定 'n'、'm'、'k'、'x' 和 'y' 整数值...
我有一个带有“n”个位置的数字 ArrayList,我需要使用第一个数组中的值和“m”个位置创建“k”个其他数组。我如何才能确保数字之和为“x”,最大误差范围为“y”,并且数组之间的差异尽可能大?

我将在测试生成器中使用它来随机化问题。数字代表问题的难度。当我尝试这样做时,我将情况随机化并检查它们是否正确,但这非常慢。有人知道更好的方法吗?

最佳答案

根据您的描述,这听起来像是离散背包问题的变体。基本上你搜索几个修改 DKP 的解决方案 - 如果有超过 k 你可以删除额外的,如果更少 - 你可以排列你获得的那些以产生更多。

天真的实现是从 n = x-y 到 x+y 搜索 DKP 的解决方案,然后如上所述处理它们,但它可能真的很慢。您可能会在 Mathematics Stack Exchange 上询问一些更好的解决方案。

关于java - 随机数组生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16262345/

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