当时考的时候好像就会这一题。。。
重新做一遍 瞎暴力就可以了
得跑个几秒
import java.util.Arrays;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
long a=999999999L;
for(long i=a;i>=0;i--){
if(check(i)&&check1(i)){
System.out.print(i);
break;
}
}
}
static boolean check(long a){
long b=(long)Math.sqrt(a);
boolean ans=(b*b==a);
return ans;
}
static boolean check1(long a){
int b[]=new int[9];
for(int i=0;i<9;i++){
b[i]=(int) (a%10);
a/=10;
}
Arrays.sort(b);
boolean flag=true;
for(int i=0;i<8;i++){
if(b[i]==b[i+1]) flag=false;
}
return flag;
}
}