이 알고리즘의 복잡도는 얼마나됩니까? 적어도 O (n^2) 이상인 것 같습니다.가장 긴 palindrome 접두사 complextity
// civic
public static boolean isCharPalindrome(String test) {
String stripped = test.toLowerCase().replaceAll("[^0-9a-zA-Z]", "");
for(int i = 0; i < stripped.length()/2; i++) {
if(stripped.charAt(i) != stripped.charAt(stripped.length() - 1 - i)) {
return false;
}
}
return true;
}
// ILLINOISURB
public static String longestPrefixPalindrome(String test){
String max_prefix = test.substring(0,1);
for(int i=test.length()-1; i>=0; i--){
String maxPrefix = test.substring(0, i);
if(isCharPalindrome(maxPrefix)){
return maxPrefix;
}
}
return max_prefix;
}
public static void main(String[] args) {
String str = "A man, a plan, a canal, Panama!";
System.out.println("isCharPalindrome:" + isCharPalindrome("A man, a plan, a canal, Panama!"));
System.out.println("longestPrefixPal:" + longestPrefixPalindrome("NILLINOISURB"));
}
'// TODO 자동 생성 메소드 스텁'이 주석은 메소드를 터치하자마자 제거 될 예정입니다. 직접 작성하면 주석이 잘못되기 때문입니다. –
는 [이론적 인 cs] (http://cstheory.stackexchange.com/)와 비슷합니다. – mbx
이론적 인 cs는 이와 같은 학부 수준의 질문이 아닙니다. 그것은 여기에 속합니다. –