文字列sを考えると、秒で最長の回文構造部分文字列を見つけます。あなたは、sの最大の長さが1000であると仮定してもよいです。
1.暴力行為
public static String longestPalindrome(String str) {
Map resultMap = new HashMap<String, Integer>();
int max = 0;
String longStr = "";
for(int i = 0 ;i<str.length()-1;i++){
for(int j = i+1; j<=str.length();j++){
System.out.println(str.substring(i,j));
if(isRight(str.substring(i,j))){
if(max < (j-i)){
max = j-i;
longStr = str.substring(i,j);
}
resultMap.put(str.substring(i,j), j-i);
}
}
}
System.out.println(resultMap);
return longStr;
}
public static boolean isRight(String s){
if(s.length() == 1){
return true;
}
char[] chars = s.toCharArray();
boolean flag = true;
for(int i = 0; i<= s.length()/2; i++){
if(chars[i] != chars[s.length()-1-i]){
flag = false;
break;
}
}
return flag;
}
タイムアウトを提出した後、すべてのN ^ 3の後emmm。
継続するには