【发布时间】:2023-04-10 20:11:01
【问题描述】:
我有一个包含字母和数字的数组 我想找到所有可能的数组元素组合。
这是我的数组:
char[] ascii = new char[94];
int index = 0;
for (char c = '0'; c <= '9'; c++) { // Filling numbers
ascii[index++] = c;
}
for (char c = 'A'; c <= 'Z'; c++) { // Filling cabital letters
ascii[index++] = c;
}
for (char c = 'a'; c <= 'z'; c++) { // Filling small letters
ascii[index++] = c;
}
我想要的输出是这样的:
111
112
113
114
121
122
123
等等
【问题讨论】:
-
您要打印 ASCII 值吗?
-
您的意思是“所有长度为 3 的组合”吗? (94 选择 3) = 134044 种组合。如果您的意思是“任何长度的所有组合”,情况会变得更糟...例如对于长度为 47 的组合,有 (94 选择 47) = 1.6257011e+27 组合,大约是 2^90...您赢了在你的有生之年不要完成它。
-
哦,快。您甚至不是指“唯一”成员...这只是(最大组合长度)的 94 次方。
-
输出与你的代码有什么关系? a-z、A-Z、0-9 在哪里相关?为什么会从 114 跳到 121?是什么样的组合?
标签: java arrays combinations