假設你有Strings
的List
或什麼的,並且要產生另一個List
其中將包含來自兩個strings
每一個可能的組合,原來的list
(concated在一起),有沒有更有效的方法比使用要做到這一點其他嵌套0循環將字符串與所有其他字符串結合?找到所有組合的更有效方法?
一些示例代碼:
for(String s: bytes) {
for(String a: bytes) {
if(!(bytes.indexOf(a) == bytes.indexOf(s))) {
if(s.concat(a).length() == targetLength) {
String combination = s.concat(a);
validSolutions.add(combination);
}
}
}
}
的執行時間變得很糟糕很快爲的Strings
原list
生長的大小。
任何更有效的方法來做到這一點?
可能的重複http://stackoverflow.com/questions/7229743/generating-all-possible-combinations –
「IndexOfs」是問題。你能直接比較a和s嗎? – Jimmy
@Jimmy,我不認爲我可以,因爲有重複的字符串組成一個有效的組合,例如「abc」和「abc」使得「abcabc」,所以如果我做a.equals(s)這不會真的工作爲了我。 – LuxuryMode