logo

Python programma, lai atrastu atšķirību starp divām virknēm

Šajā apmācībā mēs uzrakstīsim Python programmu, lai atrastu atšķirību starp divām dotajām virknēm. Šo problēmu var uzdot intervijā. Sapratīsim problēmas izklāstu un tad ķersimies pie risinājuma.

Problēmas paziņojums -

Ir dotas divas stīgas s un t. Virkne t tiek ģenerēta, nejauši sajaucot virkni s, un pēc tam tiek pievienota vēl viena rakstzīme jebkurā nejaušā vietā. Mums ir jāraksta Python programma, kas atgriež pievienoto burtu t.

Piemērs -

lejupielādēt autocad 2019 angļu mediafire
 Input: s = 'zxyc', t = 'zxyce' Output: 'e' Explanation: 'e' is the letter that was added. 

Piemērs -

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

Ierobežojumi:

Jāievēro šādi ierobežojumi -

  • 0<= s.length <='1000</li'>
  • t.garums == s.garums + 1
  • s un t sastāv no mazajiem angļu burtiem.

Python programma

Sapratīsim šo Python programmu.

Piemērs -

 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) 

Izvade:

bloķēt youtube reklāmas Android
 &apos;e&apos; 

Paskaidrojums -

Iepriekš minētajā kodā mēs definējām funkciju findThedifference(), kas kā argumentus izmanto divas virknes. Mēs izmantojām saraksta izpratni, lai pārvērstu virknes sarakstā. Tagad mēs atkārtojam ls_s sarakstā, izvēlieties vienu elementu un noņemiet šo elementu no otrā saraksta ls_t. Ja visi elementi ir noņemti no otrā elementa, tas nozīmē, ka abas dotās virknes ir vienādas, pretējā gadījumā atgrieziet otrā saraksta pirmo elementu.

Risinājums - 2

Apskatīsim citu problēmas risinājumu.

 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) 

Izvade:

 e 

Paskaidrojums -

Šajā apmācībā mēs izmantojām sakārtots() metode, kas pārvērš virkni sakārtotā veidā rakstzīmju sarakstā. Mēs izveidojām divus virkņu sarakstus un pievienojām papildu elementu kā 0, lai garums būtu vienāds; pretējā gadījumā saraksta indekss tiks pārkāpts. Tagad mēs atkārtojām t_list un pārbaudījām, vai s_list elements nav vienāds ar t_list; ja nosacījums ir saskaņots, tas atgriež šo elementu.