logo

Programa Python para encontrar a diferença entre duas strings

Neste tutorial, escreveremos um programa Python para encontrar a diferença entre as duas strings fornecidas. Esse problema pode ser questionado na entrevista. Vamos entender a definição do problema e então abordaremos a solução.

Declaração do problema -

Existem duas strings fornecidas é e t. A string t é gerada embaralhando aleatoriamente a string s e, em seguida, adiciona mais um caractere em qualquer posição aleatória. Precisamos escrever um programa Python que retorne a letra adicionada a t.

Exemplo -

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

Exemplo -

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

Restrições:

powershell versus bash

As seguintes restrições devem ser seguidas -

  • 0<= s.length <='1000</li'>
  • t.comprimento == s.comprimento + 1
  • s e t consistem em letras minúsculas do inglês.

Programa Python

Vamos entender o seguinte programa Python.

Exemplo -

 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) 

Saída:

 &apos;e&apos; 

Explicação -

No código acima, definimos a função findThedifference() que recebe duas strings como argumentos. Usamos a compreensão de lista para converter as strings em lista. Agora, iteramos ls_s lista, escolha um único elemento e remova esse elemento para a segunda lista ls_t. Se todos os elementos forem removidos do segundo elemento, significa que ambas as strings fornecidas são iguais; caso contrário, retornará o primeiro elemento da segunda lista.

Solução - 2

métodos java

Vamos ver outra solução do problema.

chamando a função js de html
 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) 

Saída:

 e 

Explicação -

Neste tutorial, usamos o classificado() método, que converte a string em uma lista de caracteres de maneira ordenada. Criamos as duas listas de strings e adicionamos um elemento extra como 0 para igualar o comprimento; caso contrário, tiraremos o índice da lista dos limites. Agora iteramos o t_list e verificamos se o lista_s elemento não é igual a t_list; se a condição for atendida, ele retornará esse elemento.