【问题标题】:all possible combinations of array element数组元素的所有可能组合
【发布时间】: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


【解决方案1】:

这是一种完成这项工作的方法,但它只有在数组只有空间来存储数字和字母而没有可用空间时才有效。顺便说一句,它以'0'开头。

for (char a : ascii)
    for (char b : ascii)
        for (char c: ascii)
            System.out.println("" + a + b + c);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-02
    • 1970-01-01
    • 2022-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多