logo

Python-program til at finde forskel mellem to strenge

I denne vejledning vil vi skrive et Python-program for at finde forskellen mellem de to givne strenge. Dette problem kan stilles i interviewet. Lad os forstå problemformuleringen, og så vil vi nærme os løsningen.

Problemformulering -

Der er givet to strenge s og t. Streng t genereres af tilfældig blandende streng s og tilføjes derefter et tegn mere på en tilfældig position. Vi skal skrive et Python-program, der returnerer det bogstav, der er tilføjet t.

javafx

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. 

Begrænsninger:

npm cache ryddes

Følgende begrænsninger skal overholdes -

  • 0<= s.length <='1000</li'>
  • t.længde == s.længde + 1
  • s og t består af små engelske bogstaver.

Python program

Lad os 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) 

Produktion:

 &apos;e&apos; 

Forklaring -

I ovenstående kode definerede vi findThedifference()-funktionen, der tager to strenge som argumenter. Vi brugte listeforståelsen til at konvertere strengene til liste. Nu gentager vi ls_s liste, vælg et enkelt element og fjern det element til den anden liste ls_t. Hvis alle elementer fjernes fra det andet element, betyder det, at begge givne strenge er ens, ellers returneres det første element af den anden liste.

Løsning - 2

array slicing java

Lad os se en anden løsning på problemet.

jsp javatpoint
 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) 

Produktion:

 e 

Forklaring -

I denne tutorial brugte vi sorteret() metode, som konverterer strengen til en liste af tegn på en sorteret måde. Vi oprettede de to lister med strenge og tilføjede et ekstra element som 0 for at gøre længden ens; ellers får vi listeindekset uden for grænserne. Nu gentog vi t_listen og tjekkede, om s_liste element er ikke lig med t_list; hvis betingelsen matches, returnerer den dette element.