Ich brauche einen Algorithmus, um die größte eindeutige Teilzeichenfolge (keine doppelten Zeichen) aus einer Zeichenfolge durch Entfernen von Zeichen (keine Neuanordnung) zu finden.Suchen Sie die lexikografisch größte eindeutige Zeichenfolge
Zeichenfolge A ist größer als Zeichenfolge B, wenn sie diese beiden Bedingungen erfüllt.
1. Has more characters than String B
Or
2. Is lexicographically greater than String B if equal length
Zum Beispiel, wenn die Eingabezeichenfolge ist dedede, dann sind die möglichen eindeutigen Kombinationen sind de, ed, d und e.
Von diesen Kombinationen ist die größte daher ed, da es mehr Zeichen als d und e und lexikographisch größer als de hat.
Der Algorithmus muss effizienter sein als das Erzeugen aller möglichen eindeutigen Strings und das Sortieren nach dem größten.
Hinweis: Dies ist keine Hausaufgabe.
ist das Hausaufgaben? Was hast du probiert? – twain249
Ich glaube, das sollte in O (n) Zeit in einem einzigen Durchgang möglich sein. Platzanforderungen sind nur ein Indikator-Array, ein Element für jeden möglichen Zeichenwert. –
Sind diese beiden Regeln UND oder ODER? Das muss beides wahr sein, oder kann beides wahr sein, für (A> B)? – RBarryYoung