Längster Teilstring ohne sich wiederholende Zeichen in Python
- Längster Teilstring ohne sich wiederholende Zeichen in Python
-
Verwenden Sie eine
While
-Schleife, um den längsten Teilstring in Python zu erhalten -
Verwenden Sie eine
For
-Schleife und eineIf-Else
-Anweisung, um den längsten Teilstring in Python zu erhalten
Wir werden vorstellen, wie man Teilzeichenfolgen in Python erstellt und wie man eine Teilzeichenfolge erstellen kann, ohne Zeichen mit Beispielen zu wiederholen.
Längster Teilstring ohne sich wiederholende Zeichen in Python
In diesem Tutorial werden wir etwas Einzigartiges lernen, das Ihr Wissen erweitern und Ihre Loops noch perfekter machen kann. Wir werden lernen, wie man Teilstrings aus einem String macht, ohne Zeichen zu wiederholen.
Der Teilstring bedeutet, dass, wenn wir einen String haben und ihn in mehrere kleine Teile zerlegen, diese als Teilstrings dieses bestimmten Strings bezeichnet werden. Die längste Teilstring-Methode ist sehr hilfreich, wenn wir den längsten Teilstring erhalten möchten, der nicht dieselben Alphabete wiederholt.
Bei dieser Methode verwenden wir eine Schleife, die die gesamte Zeichenfolge durchläuft, jedes Element einzeln überprüft und die nicht wiederholte Teilzeichenfolge der ursprünglichen Zeichenfolge liefert.
In der Python-Programmierung gibt es viele Methoden, um den längsten Teilstring zu erhalten. Diese Methoden sind sehr einfach und hilfreich; wir werden sie im Detail besprechen.
Verwenden Sie eine While
-Schleife, um den längsten Teilstring in Python zu erhalten
Wir erstellen eine Klasse GetLongestSubstring
, die object
als Parameter in dieser Methode verwendet. Wir werden eine Funktion namens Length
definieren, die zwei Parameter innerhalb dieser Klasse akzeptiert.
Wir werden die while
-Schleife durchlaufen, bis wir den längsten Teilstring des gegebenen Strings gefunden haben.
# python
class GetLongestSubstring(object):
def Length(self, x):
a = 0
b = 0
c = {}
sol = 0
while b < len(x):
if x[b] not in c or a > c[x[b]]:
sol = max(sol, (b - a + 1))
c[x[b]] = b
else:
a = c[x[b]] + 1
sol = max(sol, (b - a + 1))
b -= 1
b += 1
return sol
obj = GetLongestSubstring()
print(obj.Length("ABCDEFGABCGHIJKLMNO"))
Ausgang:
Wie Sie im obigen Beispiel sehen können, hat der längste mögliche Teilstring eine Länge von 12, genau wie der Teilstring ABCGHIJKLMNO
des Originalstrings.
Verwenden Sie eine For
-Schleife und eine If-Else
-Anweisung, um den längsten Teilstring in Python zu erhalten
Wir werden versuchen, dasselbe Szenario mit der for
-Schleife zu erreichen. Zuerst definieren wir die Funktion GetLongestSubstring
wie unten gezeigt.
Diese Funktion konvertiert die ursprüngliche Zeichenfolge in mehrere Teilzeichenfolgen und prüft, ob die Teilzeichenfolge eindeutig ist oder nicht. Wie unten gezeigt, gibt diese Funktion die längste Teilzeichenfolge mit ihrer Länge zurück.
# python
def GetLongestSubstring(x):
if len(set(x)) == len(x):
return len(x)
Substring = ""
StrLen = 1
for a in x:
if a not in Substring:
Substring = Substring + a
StrLen = max(StrLen, len(Substring))
else:
Substring = Substring.split(a)[1] + a
print(Substring)
return StrLen
print(GetLongestSubstring("ABCDEFGABCGHIJKLMNO"))
Ausgang:
Wie Sie der obigen Lösung entnehmen können, können wir mit der for
-Schleife mit der if-else
-Anweisung ganz einfach den längsten Teilstring aus einem String erhalten.
Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.
LinkedInVerwandter Artikel - Python String
- Entfernen Kommas aus String in Python
- Wie man prüft, ob eine Zeichenkette auf pythonische Weise leer ist
- Konvertieren einer Zeichenkette in einen Variablennamen in Python
- Wie man Leerzeichen in einem String in Python entfernt
- Wie man in Python Zahlen aus einer Zeichenkette extrahiert
- Wie man in Python String in datetime konvertiert