Le 15e comment écrire un problème de référence en temps réel hors ligne en Python

Cliquez ici pour plus de détails. http://qiita.com/Nabetani/items/0b56395d4c9e7c64b230 J'ai fait référence à l'implémentation du langage C de saihon2013.

def search(text, left, right, match):
    longer = match
    for l in xrange(left, len(text)):
        for r in xrange(right, l-1, -1):
            if text[l] == text[r]:
                m = search(text, l+1, r-1, match + (1 if l==r else 2))
                if m > longer: longer = m
                break
    return longer

def solve(text):
    return search(text, 0, len(text)-1, 0)

def test(text, answer):
    result = solve(text)
    print 'OK' if result==int(answer) else "NG", result, answer, text

if __name__ == '__main__':
    0, test( "I_believe_you_can_solve", "9" );
    1, test( "a", "1" );
    2, test( "aa", "2" );
    3, test( "aaa", "3" );
    4, test( "ab", "1" );
    5, test( "aabb", "2" );
    6, test( "ABBA", "4" );
    7, test( "Abba", "2" );
    8, test( "1234567890", "1" );
    9, test( "1234567890987654321", "19" );
    10, test( "abcdcba", "7" );
    11, test( "0a1b2c3d4c5b6a7", "7" );
    12, test( "abcdcba0123210", "7" );
    13, test( "abcdcba_123210", "7" );
    14, test( "_bcdcba0123210", "7" );
    15, test( "abcddcba0123210", "8" );
    16, test( "abcdcba01233210", "8" );
    17, test( "a0bc1dc2ba3210a", "9" );
    18, test( "a0bc1ddc2ba3210", "8" );
    19, test( "3a0bc1ddc2ba3210", "10" );
    20, test( "11oooo1111o1oo1o111ooooooooooo", "20" );
    21, test( "11o1111o1111oo11ooo11111ooo1oo", "20" );
    22, test( "111111oo11o111ooo1o1ooo11ooo1o", "21" );
    23, test( "11o1o1o11oo11o11oo111o1o1o11oo", "27" );
    24, test( "oo111o1o11o1oo1ooo11o1o11o1o1o", "27" );
    25, test( "1o1oo11111o1o1oo1o1o1111oo1o1o", "28" );
    26, test( "QQooooQooooQQyQoyQQQyyyyQQoyoy", "15" );
    27, test( "oQoooQooooQyoyQoyoyyyQQyQQQQoQ", "16" );
    28, test( "yyyyyooyQyyyoyyQyyooyQoQoQQoQy", "17" );
    29, test( "yyQoyQoyyQyQQoyooooyyQQyQyooQy", "24" );
    30, test( "oQQooQoQyQQoyoQQoQyQyQyQoQoooo", "24" );
    31, test( "oQQyQQyyQyQQoooyQQyyyQQQyyQQoy", "25" );
    32, test( "WAk9iHI4jVDlStyudwTNqE138kwan2", "3" );
    33, test( "c43fIu1Mlz0K9hEVOgGcUdbeB5ksa7", "3" );
    34, test( "CAbYcW5VqHjzFdIkH_61PM0TsyRuie", "3" );
    35, test( "jInQnUvSayrJTsQWujovbbqW0STvoj", "10" );
    36, test( "iZDrvpUKgtj3FrZsZ4CLjrEgUdZzQG", "11" );
    37, test( "ROgYUOu6er_DA7nB6UGquO1GUHC62R", "11" );
    38, test( "Oh_be_a_fine_girl_kiss_me", "9" );
    39, test( "8086_6502_6809_Z80", "11" );
    40, test( "xcode_visualstudio_eclipse", "11" );
    41, test( "word_excel_powerpoint_outlook", "9" );
    42, test( "abcdefghijklmnopqrstuvwxyz0123", "1" );

Recommended Posts

Le 15e comment écrire un problème de référence en temps réel hors ligne en Python
Le 14ème problème de référence d'écriture en temps réel hors ligne en python
Le 18ème comment écrire un problème de référence en temps réel hors ligne en Python
17ème problème de référence d'écriture en temps réel hors ligne implémenté en Python
Le 16ème comment écrire un problème de référence en temps réel hors ligne à résoudre avec Python
Le 19ème comment écrire un problème de référence en temps réel hors ligne à résoudre avec Python
Le 16ème problème d'écriture en temps réel hors ligne a été résolu avec Python
Le 15e problème d'écriture en temps réel hors ligne a été résolu avec python
Le 18ème problème d'écriture en temps réel hors ligne en Python
Le 19ème problème d'écriture en temps réel hors ligne en Python
17e comment résoudre les problèmes d'écriture en temps réel hors ligne avec Python
Le 15e temps réel hors ligne, j'ai essayé de résoudre le problème de l'écriture avec python
Le 14ème problème de référence d'écriture en temps réel hors ligne avec Python
Partie 1 J'ai écrit la réponse au problème de référence de l'écriture hors ligne en temps réel en Python
13th Offline en temps réel Comment résoudre les problèmes d'écriture avec Python
Le 10ème problème de référence d'écriture en temps réel hors ligne. Exemple d'implémentation par Python.
Comment écrire un exemple d'implémentation Python du problème E15 en temps réel hors ligne
Le 11ème problème de référence d'écriture en temps réel hors ligne. Exemple d'implémentation par python.
Réponse à "Comment écrire le problème F02 en temps réel hors ligne"
Réponse à "Comment écrire un problème F01 en temps réel hors ligne"
Réponse au "Problème d'écriture en temps réel hors ligne E13"
Partie 1 J'ai écrit un exemple de la réponse au problème de référence de l'écriture hors ligne en temps réel en Python
Comment écrire un exemple d'implémentation E14 Python en temps réel hors ligne
Comment écrire hors ligne en temps réel Résolution des problèmes E05 avec Python
Le douzième problème de référence d'écriture en temps réel hors ligne. Implémenté par python
Comment écrire Ruby to_s en Python
Comment écrire un exemple d'implémentation E11 Ruby et Python en temps réel hors ligne
Comment écrire en temps réel hors ligne Résolution des problèmes E04 avec Python
J'ai essayé de résoudre le problème de F02 comment écrire en temps réel hors ligne avec Python
Comment utiliser la bibliothèque C en Python
Conseils pour rédiger un aplatissement concis en python
Comment obtenir les fichiers dans le dossier [Python]
Comment écrire le bon shebang dans les scripts Perl, Python et Ruby
Comment récupérer la nième plus grande valeur en Python
Comment obtenir le nom de la variable lui-même en python
Informations de base Écrire le problème d'algorithme de l'automne 2018 en Python
Comment obtenir le nombre de chiffres en Python
Comment écrire une concaténation de chaînes sur plusieurs lignes en Python
Comment connaître le répertoire actuel en Python dans Blender
Je veux écrire en Python! (3) Utiliser des simulacres
Comment utiliser le modèle appris dans Lobe en Python
Comment développer en Python
[Python] Comment afficher les valeurs de liste dans l'ordre
Comment écrire une validation personnalisée dans Django REST Framework
[python] Comment vérifier si la clé existe dans le dictionnaire
Comment déboguer une bibliothèque Python standard dans Visual Studio
Comment utiliser la méthode __call__ dans la classe Python
[Python] Comment écrire une instruction if en une phrase.
Comment obtenir la dernière (dernière) valeur d'une liste en Python
[Python] Comment faire PCA avec Python
Comment écrire sobrement avec des pandas
Comment collecter des images en Python
Comment utiliser SQLite en Python
Dans la commande python, python pointe vers python3.8
Comment obtenir la version Python
Comment utiliser Mysql avec python
Comment envelopper C en Python
Comment utiliser ChemSpider en Python