gpt4 book ai didi

java - 在不将它们存储到内存中的情况下一一获得组合的算法

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

<分区>

我有一个长度为 N 个整数的数组,我有一个输入整数 X。我需要用总和为 X 的整数组合填充整个数组。我需要找到所有可能的组合,顺序很重要,数组有固定长度(const N)。例如,如果 X=3 和 N=4 我需要得到这个:

[3, 0, 0, 0]
[2, 1, 0, 0]
[2, 0, 1, 0]
[2, 0, 0, 1]
[1, 2, 0, 0]
[1, 1, 1, 0]
[1, 1, 0, 1]
[1, 0, 2, 0]
[1, 0, 1, 1]
[1, 0, 0, 2]
[0, 3, 0, 0]
[0, 2, 1, 0]
[0, 2, 0, 1]
[0, 1, 2, 0]
[0, 1, 1, 1]
[0, 1, 0, 2]
[0, 0, 3, 0]
[0, 0, 2, 1]
[0, 0, 1, 2]
[0, 0, 0, 3]

此外,我不想将所有可能的组合存储在内存中,但我需要一个一个地获取这些值。例如,当我上次调用 NEXT 方法时,我得到了 [0, 2, 0, 1]。当我再次调用它时,我需要获得下一个组合 [0、1、2、0]。当我再次调用它时,我需要得到 [0, 1, 1, 1] 等等。有没有算法可以做到这一点?谢谢

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