【发布时间】:2013-05-07 23:34:26
【问题描述】:
所以我想弄清楚两个字符串组合在一起时是否是另一个字符串排列的子字符串。
我有一个我认为是可行的解决方案,但它在一些 JUnit 测试用例中失败了,我无法访问它失败的那些。
这是我的代码和一个测试用例
String a="tommarvoloriddle";
String b="lord";
String c="voldemort";
String b= b+c;
char[] w= a.toCharArray();
char[] k= b.toCharArray();
Arrays.sort(k);
Arrays.sort(w);
pw.println(isPermuation(w,k)?"YES":"NO");
static boolean isPermuation(char[] w, char[] k)
{
boolean found=false;
for(int i=0; i<k.length; i++)
{
for(int j=i; j<w.length; j++)
{
if(k[i]==w[j])
{
j=w.length;
found=true;
}
else
found=false;
}
}
return found;
}
任何帮助它始终产生正确答案都很棒,帮助提高效率也很棒
【问题讨论】:
-
对不起...误解了您的问题。我没有看到“子字符串”。
-
好吧,不用担心,你明白为什么你的解决方案会失败吗?
标签: java string algorithm permutation