gpt4 book ai didi

java - 获取数组中所有可能的字符组合

转载 作者:搜寻专家 更新时间:2023-10-31 19:29:46 26 4
gpt4 key购买 nike

我有一个字符数组 c[][] ,每个索引都有不同的映射。例如:

{'a', 'b', 'c', 'd', 'e', 'f' } {'g', 'h', 'i' }

我需要将此数组的所有可能字符组合作为字符串返回。也就是说,对于上面的字符数组,我应该返回:“ag”、“ah”、“ai”、“bg”、“bh”、“bi”、“cg”、“ch”、“ci”等。对于像上面这样只有两件事的字符数组,这样做很容易,但是如果有更多的数组,那么我不知道该怎么做......这就是我要求大家帮助我的! :)

最佳答案

对于两个数组,两个嵌套循环应该做:

for (int i = 0 ; i != c[0].length ; i++) {
for (int j = 0 ; j != c[1].length ; j++) {
System.out.writeln(""+c[0][i]+c[1][j]);
}
}

对于更多嵌套,您需要递归或等效的基于堆栈的解决方案。

void combos(int pos, char[][] c, String soFar) {
if (pos == c.length) {
System.out.writeln(soFar);
return;
}
for (int i = 0 ; i != c[pos].length ; i++) {
combos(pos+1, c, soFar + c[pos][i]);
}
}

从您的 main() 中调用此递归函数,如下所示:

combos(0, c, "");

关于java - 获取数组中所有可能的字符组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9521729/

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