", учитывая строку s < /code>, которая состоит из строчных или прописных букв, верните длину самой длинной палиндрома, которая может быть построена с этими буквами. Например,« AA »не считается Palindrome. с решением этой проблемы перед написанием какого -либо кода вниз по моему процессу, хотя и был построить строку, которая следует за тенденцией иметь наименьшую даже частоту символов сначала, а затем поднимаясь в значимость, когда в середине у вас есть наибольшая нечетная частота символов, а затем считать его длину < /em>.
Это изменилось, хотя я реализовал, что мне нужно, что я считаю, что настойчивости. Самая длинная длина палиндрома. < /p>
код Java, который я пытался достичь этого: < /p>
public static int longestPalindrome(String s) {
//variables
int length = 0;
int greatestOddFreaquency = 0;
TreeMap tm = new TreeMap();
//lenght 1
if (s.length() == 1) {
return 1;
}
for (int i = 0; i < s.length(); i++) {
int total = 0; //to count how many times a charcter occurs
for (int j = 0; j < s.length(); j++) {
if (s.charAt(i) == s.charAt(j)) {
total++;
}
}
if (total % 2 != 0 && total >= greatestOddFreaquency) {
greatestOddFreaquency = total;
} else if (total % 2 == 0) {
tm.put(s.charAt(i), total);
}
}
for (Map.Entry entry : tm.entrySet()) {
length += entry.getValue();
//System.out.println("Key " + entry.getKey() + " val " +entry.getValue());
}
return length+=greatestOddFreaquency;
}
< /code>
Тем не менее, при запуске этого на чрезвычайно длинной строке мой код не удается. Любая помощь будет высоко оценена
, чтобы уточнить поднятые флаги: примером ввода является «Abccccdd», который приведет к выводу 7, что является моим кодом. Что касается ввода, который приводит к сбою моего кода: < /p>
"civilwartestingwhetherthatnaptionoranynartionsoconceivedandsodedicatedcanlongendureWeareqmetonagreatbattlefiemldoftzhatwarWehavecometodedicpateaportionofthatfieldasafinalrestingplaceforthosewhoheregavetheirlivesthatthatnationmightliveItisaltogethe rfangandproperthatwoulddothisbutinalargersensewecannoticatewecannotconsecratewecannothlowhishisgroundthebravelmenliving и erebutitcanneverforgetwhattheydidhereItisforusthelivingrathertobededicatedheretotheulnfinishedworkwhichtheywhofoughtherehavethusfarsonoblyadvancedItisratherforustobeherededicatedtothegreattdafskremainingbeforeusthatfromthesehonoreddeadwetakeincreaseddev ototothatcauseforh, которая, как бывает, NationUnsdergodshallhallhaveanewbirthoffreedomandthatgovernmentofthepeoplebythepeopleforthepeopleshallnotperishfomthearth "
< /blockquote>
Этот вход приводит к выводу моего кода 655, но ожидаемый вывод составляет 983. < /p>
Наконец, при попытке придумать решение этой проблемы, у меня была первоначальная идея, что если я максимизирую нечетную частоту, то длина окончательного палиндрома. Проблема идет.
Подробнее здесь: https://stackoverflow.com/questions/794 ... ng-strings