【发布时间】:2020-05-05 18:45:55
【问题描述】:
我希望最好在 Java 中创建一个算法。我想通过以下 char 数组并从中创建所有可能的排列和长度。
例如,循环并打印以下内容:
a
aa
aaaa
aaaaa
.... keep going ....
aaaaaaaaaaaaaaaaa ....
ab
aba
abaa .............
直到我从我的数组中找到所有可能的长度和排列。
private void method(){
char[] data = "abcdefghiABCDEFGHI0123456789".toCharArray();
// loop and print each time
}
我认为为此设计 10 个 for 循环会很愚蠢。我猜某种形式的递归在这里会有所帮助,但我什至无法开始。请问我能得到一些帮助吗?即使指向我开始或博客或其他东西。一直在谷歌搜索和环顾四周,存在许多排列示例,但保持固定的最大长度。似乎没有关于多重长度+排列的例子。请指教。谢谢。
【问题讨论】:
-
我看不到您的示例输出、您的描述和示例代码如何匹配。给定给定的
data数组,如何输出aa?a在data中只出现一次... -
@MichaelKreutz 这是对密码破解的暴力破解。有现成的程序可以做到这一点,但我正在尝试创建算法的编写方式。 char 数组是我想象中的存储方式。我仍然期待以上的输出。建议存储是否应该采用不同的格式而不是这个 char 数组来实现这一点。谢谢。
-
最长的有效字符串长度是多少? 28 岁?
-
@Eritrean 长度为 28。以单个 'a' 开头,以 9999999999999999999999999 结尾。
-
对不起,我还没有完全明白。你试图找到的不是给定单词和该单词的子词的排列,而是替换采样,对吧?