Ich muss eine Methode erstellen, die einen String empfängt und auch einen String zurückgibt.
Ex-Eingang: AAABBBBCC
Ex-Ausgang: 3A4B2C
Nun, das ist ziemlich peinlich und ich schaffte es nicht, es in dem Interview zu machen, das ich heute hatte (ich bewarb mich um eine Junior-Position), jetzt versuche ich zu Hause etwas, das statisch funktioniert, ich meine, Ich benutze keine Schleife, die irgendwie nutzlos ist, aber ich weiß nicht, ob ich nicht genug Schlaf oder etwas anderes bekomme, aber ich kann nicht herausfinden, wie meine For-Schleife aussehen sollte. Dies ist der Code:
%Vor%Danke für deine Hilfe, ich versuche meine logischen Fähigkeiten zu verbessern.
Schleife durch die Saite und merke dir, was du zuletzt gesehen hast. Jedes Mal, wenn Sie die gleiche Anzahl an Buchstaben sehen. Wenn Sie einen neuen Buchstaben sehen, setzen Sie das, was Sie gezählt haben, auf die Ausgabe und setzen Sie den neuen Buchstaben als das, was Sie zuletzt gesehen haben.
%Vor%StringBuilder
(das hast du gemacht) previousChar
und counter
str.length()
- 1 str.charat(i)
und vergleichen Sie es mit dem, was in der previousChar
Variable counter + currentChar
, Zähler zurücksetzen previousChar
zu
So ähnlich.
Sie können das mit den folgenden Schritten tun:
In der Zeile count = ... interessiert sich lastIndexOf nicht für aufeinanderfolgende Werte und gibt nur das letzte Vorkommen an.
Zum Beispiel wäre in der Zeichenkette "ABBA" der Teilstring die ganze Zeichenkette.
Die Länge der Teilzeichenfolge entspricht auch dem Subtrahieren der beiden Indizes.
Ich denke wirklich, dass du eine Schleife brauchst. Hier ist ein Beispiel:
%Vor%Folgendes kann verwendet werden, wenn Sie nach einer Basislösung suchen. Durchsuche die Zeichenfolge mit einem Element und entferne nach dem Auffinden aller Elementvorkommen das Zeichen. Damit es bei der nächsten Suche nicht stört.
%Vor%Und die Ausgabe wird sein: = Ergebnis ist = a4b5c3
Ein weiterer einfacher Weg mit Multiset von Guava-
%Vor%Betrachten Sie die folgende Lösung, in der der String s1 die eindeutigen Zeichen identifiziert, die in einem gegebenen String s verfügbar sind (für Schleife 1), in der zweiten for-Schleife eine Zeichenfolge s2, die ein eindeutiges Zeichen enthält und keine Wiederholungen durch Vergleich der Zeichenfolge s1 mit s.
%Vor%Tags und Links string java loops compression