【发布时间】:2015-09-21 18:32:42
【问题描述】:
我是一名高中生,对编程比较陌生,并且正在研究一个数学问题并使用 java 来帮助我。无论如何,我遇到了内存问题。我想找到没有重复的字符串的所有可能组合。
例如,给定字符串“AABB”,我希望返回“AABB”、“ABAB”、“ABBA”、“BBAA”、“BABA”和“BAAB”。
这里也有类似的问题:Every combination of character array
此链接提供的解决方案通常是我想要的,但是在我的情况下它无法处理更长的字符串。在我的具体情况下,我想要一个能够获取包含 18 个字符的字符串的方法。
另外,我想找到所有组合的字符串,只需要包含2个字符;因此,可能有一种更有效的方法可以在二进制中执行此操作,但我不确定。
任何帮助将不胜感激。
【问题讨论】:
-
"另外,我想查找所有组合的字符串,只需要包含 2 个字符;因此,可能有一种更有效的方法可以在二进制中执行此操作,但我不是当然。”你是说你的字母表只有两个符号?
-
18 岁!为 6.4 x 10**15。所以这需要一段时间。
-
是的,它是一种关系的表示,其中某物要么存在,要么不存在。
-
实际上是 18!/(10!*8!) 这是 43,758,因为只有 2 个“字母”并且没有重复
-
哦,如果你只有两个字符,让它们成为 '1' & '0' 那么你将拥有 (2**19)-1 或 524287。
标签: java string combinations