【发布时间】:2012-11-22 07:23:11
【问题描述】:
public static boolean test(String a, String b) {
a=a.toLowerCase();
b=b.toLowerCase();
boolean result = true ;
boolean tmp1=false;
if(a.length()==b.length()){
for(int i=0;i<a.length();i++){
tmp1=false;
for(int k=0;k<b.length();k++){
if(a.charAt(i)==b.charAt(k)){
return true;
}
}
if(tmp1==false){
result=false;
break;
}
if(i==a.length()-1)
result=true;
}
}
else {
result=false;
}
return result;
}
我想制作一个程序来查找字谜。
输入时代码正常工作
- 第一个字是dsa
- 第二个字是asd
- 输出是字谜(正确结果)
代码输入失败
- 第一个词是assa
- 第二个字是asaa
- 结果是字谜(不正确的结果)
我的错是什么?
【问题讨论】:
-
本周是字谜作业周吗?
-
我会复制许多已经可用的解决方案之一。或者至少阅读它们,因为有更简单、更有效的方法来做到这一点。
-
@PeterLawrey:我不会。这样做没有任何学习。他编写了代码,确定它不起作用,并正在寻求了解原因。这很好。
-
@EricJ。他可能会知道有 O(N ln N) 个解决方案,有 6 行代码,而不是 O(N^2),但如果没有一些研究,OP 不太可能自己解决这个问题。
-
回到字谜的定义。两个字符串的每个字符的出现次数必须相同。