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 = 'zxyc' t = 'zxyce' print(obj.findTheDifference(s, t)
Saída:
'e'
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) -> 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 = 'zxyc' t = 'zxyce' 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.