給定m個字符串和一個目標字符串t的集合S,我們想要檢查t是否是某些m字符串的連接,同時允許重複。例如:S = {ab,dbe,eaa,ea}和t = eaabdbeab。答案是肯定的,t = ea ab abbe ab。我的算法是否正確? (字符串連接)
算法:
boolean IsConcatenation{S, t, i} {
int a=S[i].length;
int b=t.length-1;
String str=t.charAt(1)+t.charAt(2)+...+t.charAt(a-1);`
if (S[i]==str) { `
if (i<m) //m=S.length
boolean A= IsConcatenation(S,t, i++);
t=t.charAt(a)+t.charAt(a+1)+...+t.charAt(b);
boolean B= IsConcatenation(S,t, 0);
}
if (i==m+1)
return false;
if (t.length==0}
return true;
return IsConcatenation(S,t, i++);
}
這是我的僞代碼。如果您能告訴我我的算法是正確還是不正確,我將不勝感激。
謝謝。
http://codereview.stackexchange.com/ – alex 2014-10-11 13:10:44
這是一個測試網站 – user93765 2014-10-11 13:12:09
@ user93765這不會讓你的問題在這裏的話題。事實上,一個網站處於測試階段並不會阻止人們回答你的問題。 – BartoszKP 2014-10-11 13:20:13