Problema

Il problema Γ¨ il seguente: trovare la sottosequenza palindroma piΓΉ lunga all’interno di una stringa.

Un palindromo Γ¨ una sequenza di caratteri che viene letta allo stesso modo da sinistra a destra e da destra a sinistra. Ad esempio, β€œradar” Γ¨ un palindromo perchΓ© viene letto nello stesso modo sia da sinistra a destra che da destra a sinistra.

Soluzione

Utilizzo l’algoritmo di espansione centrale: inizia con un carattere o una coppia di caratteri all’interno della stringa e cerca di espandere questa sottosequenza palindroma in entrambe le direzioni. Se la sottosequenza palindroma viene estesa con successo, salva la sottosequenza piΓΉ lunga finora trovata. Continua a fare questo per ogni carattere o coppia di caratteri all’interno della stringa, restituendo infine la sottosequenza palindroma piΓΉ lunga trovata.

Di seguito la soluzione in C# completamente commentata: TODO