logo

Python-program for å finne forskjellen mellom to strenger

I denne opplæringen vil vi skrive et Python-program for å finne forskjellen mellom de to gitte strengene. Denne problemstillingen kan stilles i intervjuet. La oss forstå problemstillingen, og så vil vi nærme oss løsningen.

Problemstilling -

Det er gitt to strenger s og t. String t genereres av tilfeldig stokkende streng s og deretter lagt til ett tegn til ved en tilfeldig posisjon. Vi må skrive et Python-program som returnerer bokstaven som er lagt til t.

boto3

Eksempel -

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

Eksempel -

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

Begrensninger:

markering gjennomstreking

Følgende begrensninger bør følges -

  • 0<= s.length <='1000</li'>
  • t.lengde == s.lengde + 1
  • s og t består av små engelske bokstaver.

Python-programmet

La oss forstå følgende Python-program.

Eksempel -

 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) 

Produksjon:

 &apos;e&apos; 

Forklaring -

I koden ovenfor definerte vi funnThedifference()-funksjonen som tar to strenger som argumenter. Vi brukte listeforståelsen for å konvertere strengene til liste. Nå gjentar vi ls_s liste, velg enkelt element og fjern det elementet til den andre listen ls_t. Hvis alle elementene fjernes fra det andre elementet, betyr det at begge de gitte strengene er like, ellers returnerer det første elementet i den andre listen.

Løsning - 2

støpt inn til streng

La oss se en annen løsning på problemet.

autocad stretch-kommando
 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) 

Produksjon:

 e 

Forklaring -

I denne opplæringen brukte vi sortert() metode, som konverterer strengen til en liste med tegn på en sortert måte. Vi laget de to listene med strenger og la til et ekstra element som 0 for å gjøre lengden lik; ellers får vi listeindeksen utenfor grensene. Nå gjentok vi t_list og sjekket om s_list element er ikke lik t_list; hvis betingelsen samsvarer, returnerer den det elementet.