logo

Programma Python per trovare la differenza tra due stringhe

In questo tutorial scriveremo un programma Python per trovare la differenza tra le due stringhe fornite. Questo problema può essere posto nell'intervista. Comprendiamo l'affermazione del problema e poi ci avvicineremo alla soluzione.

Dichiarazione problema -

Vengono fornite due stringhe S E T. La stringa t viene generata mescolando casualmente la stringa s e quindi aggiunto un ulteriore carattere in qualsiasi posizione casuale. Dobbiamo scrivere un programma Python che restituisca la lettera aggiunta a T.

Esempio -

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

Esempio -

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

Vincoli:

stringa su int in Java

Dovrebbero essere seguiti i seguenti vincoli:

  • 0<= s.length <='1000</li'>
  • t.lunghezza == s.lunghezza + 1
  • s e t sono costituiti da lettere inglesi minuscole.

Programma Python

Comprendiamo il seguente programma Python.

Esempio -

 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) 

Produzione:

 &apos;e&apos; 

Spiegazione -

Nel codice precedente, abbiamo definito la funzione findThedifference() che accetta due stringhe come argomenti. Abbiamo utilizzato la comprensione delle liste per convertire le stringhe in list. Ora iteriamo ls_s list, scegli un singolo elemento e rimuovi quell'elemento nel secondo elenco ls_t. Se tutti gli elementi vengono rimossi dal secondo elemento, significa che entrambe le stringhe fornite sono uguali, altrimenti restituisce il primo elemento della seconda lista.

Soluzione - 2

come convertire una stringa in carattere

Vediamo un'altra soluzione del problema.

stringa di input Java
 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) 

Produzione:

 e 

Spiegazione -

In questo tutorial abbiamo utilizzato il file smistato() metodo, che converte la stringa in un elenco di caratteri in modo ordinato. Abbiamo creato i due elenchi di stringhe e aggiunto un elemento aggiuntivo come 0 per rendere uguale la lunghezza; altrimenti, otterremo l'indice dell'elenco fuori dai limiti. Ora abbiamo ripetuto t_list e verificato se il file s_list l'elemento non è uguale a t_list; se la condizione è soddisfatta, restituisce quell'elemento.