gpt4 book ai didi

java - 当放置受到限制时,如何在java中生成整数的所有组合?

转载 作者:行者123 更新时间:2023-12-01 14:37:04 25 4
gpt4 key购买 nike

我需要生成一组整数的排列。

但是数字的位置很重要。

在位置 0 中,范围是 0-2。在位置 1 中,范围是 0-3。在位置 2 中,范围为 0-1。

所以答案是:

000001010011020021030031

100101110111120121130131

200201210211220221230231

最佳答案

做类似的事情:

public class Test {

public static void main(String[] args) {
Test x = new Test();
x.generatePermutations(2, 3, 1);
}

private void generatePermutations(int intervalOne, int intervalTwo,
int intervalThree) {
for (int i = 0; i <= intervalOne; i++) {
for (int j = 0; j <= intervalTwo; j++) {
for (int k = 0; k <= intervalThree; k++) {
System.out.print(i + "" + j + "" + k + " ");
}
}
}
}
}

编辑:我认为这将执行任意数量的间隔数组:(不过,您必须检查其正确性:

public class Test {

public static void main(String[] args) {
Test x = new Test();
int[] intervals = { 1, 1, 1, 1, 1 };
x.generatePermutations(intervals);
}

private void generatePermutations(int[] intervals) {
generatePermutations(intervals, 0, "");
}

private void generatePermutations(int[] intervals, int intpos,
String lastPerm) {

if (intpos == intervals.length)
return;

for (int i = 0; i <= intervals[intpos]; i++) {
if (intpos == intervals.length - 1) {
System.out.print(lastPerm + i + " ");
}
generatePermutations(intervals, intpos + 1, lastPerm + i);
}
}
}

关于java - 当放置受到限制时,如何在java中生成整数的所有组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16390194/

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