gpt4 book ai didi

java - java中所有可能大小的所有可能排列

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

假设我有数字 1、2、3。为了采用所有可能大小的所有可能排列,算法会是什么样子。输出:

1, 2 ,3 | 3, 2 ,1 | 2, 1 ,3 | 1, 3, 2 ... | 1, 2 | 2, 1 | 3, 1 |...... 1 | 2 | 3个

你会做正常的排列算法并将每个字母的数量作为一个子问题输入吗?

最佳答案

您需要生成所有可能的子集并排列它们。

伪代码(遵循 C++)

generate (a[]) {
int size = a.size;
sort(a)
for (i = 1; i < (1<<size); i++) {
b[];
for (j = 0; j < size; j++) {
if (i&(1<<j)) {
add a[j] to b;
}
}

do {
for (i=0 to b.size) {
print b[i];
}
}while(next_permutation(b.begin(), b.end());
}
}

关于java - java中所有可能大小的所有可能排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10022126/

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