Längste palindrome Längealgorithmus finden eine falsche Länge für lange SaitenJava

Java-Forum
Anonymous
 Längste palindrome Längealgorithmus finden eine falsche Länge für lange Saiten

Post by Anonymous »

Ich habe an diesem Problem gearbeitet: < /p>

"Bei einer Zeichenfolge s < /code>, die aus Kleinbuchstaben oder Großbuchstaben besteht, geben Sie die Länge des längsten Palindroms zurück, der mit diesen Buchstaben gebaut werden kann. Mit einer Lösung für dieses Problem vor dem Schreiben eines Codes war mein iS -Prozess eine Zeichenfolge, die dem Trend folgt, zuerst die geringste Häufigkeit von Charakteren zu haben, und dann in der Mitte die größte Frequenz von Charakteren aufweist und dann die Länge zählte. Längste Palindromlänge. < /p>
Der Java -Code, den ich versucht habe, dies zu erreichen 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>
Wenn dies jedoch in einem extrem langen Zeichenfolge ausgeführt wird, schlägt mein Code fehl. Jede Hilfe wäre sehr geschätzt :) < /p>
, um die angesprochenen Flaggen zu klären: Ein Beispiel für eine Eingabe ist "ABCCCCDD", die zu einer Ausgabe von 7 führen würde, was mein Code erreicht. Was eine Eingabe betrifft, die dazu führt /> "zivilwartesting, wob dass rfangandprooperthatWeshouldhisbutinalArgerSense -wecannotdede -wecannotconsecrateWecannothisgroundTheBravelMenLiving und -DeadHostroghedhereHavecon -ScrateFaraboveourpoorponwertoadetracttgHeworldaDaDaDaDaDaDaDaNlittLittLittleNlenlenlEnlaNlldaNlitthaSwayLlitthylittlittLENTLENTLENTLENTLENTLENTLENTLENWAsWLITTLE - forms -formWorkwhtheTheyTheYtheyWhoFoTher -formWhoFoTher -formWhoesResratherforForforfor -forthesedeher -fortzaTherforfor -forthese -korrigiert itiontothatcause forchichtheygavethelastpulleMeasureofDevotionThatWeherehighresolvethatthesedshallnothavedInvainthathis nationunsdergodshallHaveAnewbirthoffreedomandhatgovernmentopthepeoplebythepeopleFortepeopleshallnotperishfromThearth "
< /blockquote>
Dieser Eingang bewirkt, dass mein Code 655 ausgibt, aber der erwartete Ausgang beträgt 983. Das Problem kommt mit.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post