| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
谁帮我看一下,一直WA,没有用什么高级的东西。感觉思路没错。。。。。。谢谢了什么高深的东西都没有用。。。。。。一直WA。
思路是 用六个数的和作为key,在key相同的之中找是否存在一样的。
一样的判定是:
在第一个雪花的字符串str1str1中 找str2和反序str2。
class snowflack{
int[] flacks;
int key;
public snowflack(int[] f) {
flacks= new int[6];
key= 0;
for(int i=0; i<6; i++){
flacks[i]= f[i];
key+= f[i];
}
}
public String toString(){
String str= "";
for(int i=0; i<6; i++){
str+= flacks[i];
}
return str;
}
}
class SnowComparator implements Comparator<Object> {
public final int compare(Object s1, Object s2) {
return ((snowflack) s1).key- ((snowflack) s2).key;
}
}
//应该是这个比较函数错了,但是想不出来为什么。。。。。。
private static boolean check(snowflack s1, snowflack s2) {
String str1= "";
str1= s1.toString();
str1+= str1;
// System.out.println("str1 "+str1);
String str2= s2.toString();
// System.out.println("str2 "+str2);
String revstr2= reverse(str2);
// System.out.println("revstr2 "+revstr2);
if(str1.indexOf(str2)==-1 && str1.indexOf(revstr2)==-1) {
// System.out.println("f");
return false;
}
else return true;
}
private static String reverse(String str) {
String revstr= "";
for(int i=str.length()-1; i>=0; i--)
revstr+= str.charAt(i);
return revstr;
}
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator