Le 11ème problème de référence d'écriture en temps réel hors ligne. Exemple d'implémentation par python.

Comment écrire hors ligne en temps réel http://atnd.org/events/38770 Problème de référence http://nabetani.sakura.ne.jp/hena/ord11arithseq/ J'ai écrit un exemple d'implémentation en python. Il a été confirmé qu'il fonctionne à la fois avec python2.7 et python3.3.

Exemples de réponses dans d'autres langues http://qiita.com/items/c206fbc645c255cb7de6 Vous pouvez suivre de.

alors. Comme ça.

solver.py


#coding:utf-8
import re

def solve( src ):
    def impl( s, seq ):
        if 2<len(s) and ( s[1]-s[0] != s[-1]-s[-2] ) :
            return 0
        if len(seq)==0:
            return len(s)
        return max(  impl( s, seq[1:] ),  impl( s+seq[0:1], seq[1:] ) )
    nums="0123456789abcdefghijklmnopqrstuvwxyz"
    return "%d" % impl( [], [ nums.index(c) for c  in list( src ) ] )

def test( samples ) :
    for line in samples.splitlines():
        a=re.split( "\s+", line ) # num, input, expected
        if len(a) <3:
            continue
        actual = solve( a[1] )
        ok=actual==a[2]
        print( [ "ok" if ok else "***NG***", a[1:3], actual ] )

test( """
0   12345abcz   5   12345
1   012abku 4   0aku
2   01245689cdeghik 6   048cgk
49 012346abceghjknortv 5 01234 et 2 autres""" )

La plupart des données de test sont omises comme d'habitude.

Commentaire de matarillo qui essaie diverses choses avec F # http://qiita.com/items/6ab69f5f514cb2d0e7a8#comment-73ec472aa6be28061f68 Je l'ai écrit inspiré par.

On a l'impression que la pile déborde parce que c'est une récurrence qui ne devient pas une récurrence de queue, mais c'est correct parce qu'elle est au plus de 36. était.

J'aimerais le faire ressembler à python, mais ce n'est pas bon simplement en utilisant une notation d'inclusion. Encore une fois, je n'ai pas eu l'occasion d'utiliser else dans l'instruction for. Pardon.

Depuis que je suis un débutant en python, j'ai fait de nombreuses découvertes.

Recommended Posts

Le 10ème problème de référence d'écriture en temps réel hors ligne. Exemple d'implémentation par Python.
Le 11ème problème de référence d'écriture en temps réel hors ligne. Exemple d'implémentation par python.
Le douzième problème de référence d'écriture en temps réel hors ligne. Implémenté par python
Le 14ème problème de référence d'écriture en temps réel hors ligne 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
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
17e comment résoudre les problèmes d'écriture en temps réel hors ligne avec Python
Comment écrire un exemple d'implémentation Python du problème E15 en temps réel hors ligne
Le 15e problème d'écriture en temps réel hors ligne a été résolu avec python
Le 15e temps réel hors ligne, j'ai essayé de résoudre le problème de l'écriture avec python
Comment écrire un exemple d'implémentation E14 Python en temps réel hors ligne
13th Offline en temps réel Comment résoudre les problèmes d'écriture avec Python
Réponse à "Comment écrire le problème F04 en temps réel hors ligne"
Réponse à "Comment écrire le problème F05 en temps réel hors ligne"
Réponse à "Comment écrire un problème E12 en temps réel hors ligne"
20e Comment écrire des problèmes en temps réel hors ligne en 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
Un exemple de réponse à la question de référence de la session d'étude. Avec python.