logo

Python-Programm zum Finden des Unterschieds zwischen zwei Zeichenfolgen

In diesem Tutorial schreiben wir ein Python-Programm, um den Unterschied zwischen den beiden angegebenen Zeichenfolgen zu ermitteln. Dieses Problem kann im Interview gestellt werden. Lassen Sie uns die Problemstellung verstehen und dann an die Lösung herangehen.

Problemstellung -

Es sind zwei Zeichenfolgen angegeben S Und T. Die Zeichenfolge t wird durch zufälliges Mischen der Zeichenfolge s generiert und dann an einer beliebigen zufälligen Position ein weiteres Zeichen hinzugefügt. Wir müssen ein Python-Programm schreiben, das den hinzugefügten Buchstaben zurückgibt T.

Beispiel -

 Input: s = 'zxyc', t = 'zxyce' Output: 'e' Explanation: 'e' is the letter that was added. 

Beispiel -

 Input: s = 'uvw', t = 'wyu' Output: 'y' Explanation: 'e' is the letter that was added. 

Einschränkungen:

Die folgenden Einschränkungen sollten beachtet werden:

  • 0<= s.length <='1000</li'>
  • t.length == s.length + 1
  • s und t bestehen aus englischen Kleinbuchstaben.

Python-Programm

Lassen Sie uns das folgende Python-Programm verstehen.

Beispiel -

 class Solution(object): def findTheDifference(self, s, t): ls_s = [s[i] for i in range(len(s))] ls_t = [t[i] for i in range(len(t))] for elem in ls_s: ls_t.remove(elem) return(ls_t[0]) obj = Solution() s = &apos;zxyc&apos; t = &apos;zxyce&apos; print(obj.findTheDifference(s, t) 

Ausgabe:

 &apos;e&apos; 

Erläuterung -

Im obigen Code haben wir die Funktion findThedifference() definiert, die zwei Zeichenfolgen als Argumente akzeptiert. Wir haben das Listenverständnis verwendet, um die Zeichenfolgen in Listen umzuwandeln. Jetzt iterieren wir ls_s Liste, wählen Sie ein einzelnes Element aus und entfernen Sie dieses Element aus der zweiten Liste ls_t. Wenn alle Elemente aus dem zweiten Element entfernt werden, bedeutet dies, dass beide angegebenen Zeichenfolgen gleich sind. Andernfalls wird das erste Element der zweiten Liste zurückgegeben.

Lösung - 2

Sehen wir uns eine andere Lösung des Problems an.

 class Solution: def findTheDifference(self, s: str, t: str) -&gt; str: #sort both the strings s_list = sorted(s) t_list = sorted(t) s_list.append(0) #to make the length equal else we will get list index out of bounds (1 extra char in string2) for i in range(len(t_list)): if s_list[i] != t_list[i]: #if character at i not same for both the strings, we get our answer return t_list[i] obj = Solution() s = &apos;zxyc&apos; t = &apos;zxyce&apos; print(obj.findTheDifference(s, t) 

Ausgabe:

 e 

Erläuterung -

In diesem Tutorial haben wir das verwendet sortiert() Methode, die die Zeichenfolge in eine sortierte Liste von Zeichen umwandelt. Wir haben die beiden String-Listen erstellt und ein zusätzliches Element als 0 hinzugefügt, um die Länge gleich zu machen; Andernfalls wird der Listenindex außerhalb der Grenzen liegen. Jetzt haben wir die t_list iteriert und geprüft, ob die s_list Element ist nicht gleich t_list; Wenn die Bedingung erfüllt ist, wird dieses Element zurückgegeben.