logo

Питхон програм за проналажење разлике између два низа

У овом водичу ћемо написати Питхон програм да пронађемо разлику између два дата стринга. Овај проблем се може поставити у интервјуу. Хајде да разумемо исказ проблема и онда ћемо приступити решењу.

Изјава о проблему -

Дате су две жице с и т. Стринг т се генерише насумичним мешањем стринга с, а затим се додаје још један знак на било којој насумичној позицији. Морамо да напишемо Питхон програм који враћа слово додато у т.

Пример -

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

Пример -

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

Ограничења:

Треба поштовати следећа ограничења -

командни додир у линуксу
  • 0<= s.length <='1000</li'>
  • т.ленгтх == с.ленгтх + 1
  • с и т се састоје од малих енглеских слова.

Питхон програм

Хајде да разумемо следећи Питхон програм.

Пример -

 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) 

Излаз:

стринг у инт у Јави
 &apos;e&apos; 

Објашњење -

У горњем коду дефинисали смо функцију финдТхедифференце() која узима два низа као аргументе. Користили смо разумевање листе да конвертујемо низове у листу. Сада понављамо лс_с листу, изаберите један елемент и уклоните тај елемент на другу листу лс_т. Ако су сви елементи уклоњени из другог елемента, то значи да су оба дата низа иста, у супротном вратите први елемент друге листе.

Решење - 2

Хајде да видимо друго решење проблема.

 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) 

Излаз:

 e 

Објашњење -

У овом туторијалу користили смо сортирано() метод, који конвертује стринг у листу знакова на сортиран начин. Направили смо две листе стрингова и додали додатни елемент као 0 да би дужина била једнака; у супротном, извући ћемо индекс листе ван граница. Сада смо поновили т_листу и проверили да ли је с_лист елемент није једнак т_лист; ако се услов подудара, враћа тај елемент.