Das 11. Referenzproblem beim Schreiben in Echtzeit. Implementierungsbeispiel von Python.

So schreiben Sie offline in Echtzeit http://atnd.org/events/38770 Referenzproblem http://nabetani.sakura.ne.jp/hena/ord11arithseq/ Ich habe ein Implementierungsbeispiel für in Python geschrieben. Es wurde bestätigt, dass es sowohl mit Python2.7 als auch mit Python3.3 funktioniert.

Beispiele für Antworten in anderen Sprachen http://qiita.com/items/c206fbc645c255cb7de6 Sie können folgen aus.

damit. So was.

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 und 2 andere""" )

Die meisten Testdaten werden wie gewohnt weggelassen.

Kommentar von Matarillo, der verschiedene Dinge mit F # ausprobiert http://qiita.com/items/6ab69f5f514cb2d0e7a8#comment-73ec472aa6be28061f68 Ich habe es inspiriert von geschrieben.

Es ist eine Wiederholung, die nicht zu einer Schwanzwiederholung wird, also fühlt es sich an, als würde der Stapel überlaufen, aber es ist okay, weil es höchstens 36 ist. war.

Ich möchte, dass es wie Python aussieht, aber es ist nicht gut, nur eine Einschlussnotation zu verwenden. Auch hier hatte ich keine Chance, etwas anderes in der for-Anweisung zu verwenden. Es tut uns leid.

Da ich ein Anfänger von Python bin, habe ich viele Entdeckungen gemacht.

Recommended Posts

Das 10. Referenzproblem beim Schreiben in Echtzeit. Implementierungsbeispiel von Python.
Das 11. Referenzproblem beim Schreiben in Echtzeit. Implementierungsbeispiel von Python.
Das zwölfte Offline-Echtzeit-Schreibreferenzproblem. Implementiert von Python
Das 14. Referenzproblem beim Offline-Schreiben in Echtzeit mit Python
Das 18. Offline-Echtzeit-Schreibproblem in Python
Das 19. Offline-Echtzeit-Schreibproblem in Python
Das 15. Offline-Echtzeit-Schreiben eines Referenzproblems in Python
Das 14. Referenzproblem beim Schreiben in Echtzeit in Python
Das 18. Offline-Echtzeit-Schreiben eines Referenzproblems in Python
17. In Python implementiertes Referenzproblem für das Offline-Schreiben in Echtzeit
Das 16. Offline-Echtzeit-Schreiben eines Referenzproblems zur Lösung mit Python
Das 19. Offline-Echtzeit-Schreiben eines Referenzproblems zur Lösung mit Python
17. Offline-Echtzeit So lösen Sie Schreibprobleme mit Python
Offline-Echtzeit zum Schreiben eines Python-Implementierungsbeispiels für das E15-Problem
Das 15. Offline-Problem beim Schreiben in Echtzeit wurde mit Python gelöst
Beim 15. Offline-Echtzeitversuch habe ich versucht, das Problem des Schreibens mit Python zu lösen
Offline-Echtzeit zum Schreiben eines E14 Python-Implementierungsbeispiels
13. Offline-Echtzeit So lösen Sie Schreibprobleme mit Python
Antwort auf "Offline in Echtzeit, wie man ein F04-Problem schreibt"
Antwort auf "Offline in Echtzeit, wie man ein F05-Problem schreibt"
Antwort auf "Offline in Echtzeit, wie man ein E12-Problem schreibt"
20. Offline-Echtzeit So schreiben Sie Probleme in Python
Teil 1 Ich habe die Antwort auf das Referenzproblem geschrieben, wie man in Python in Echtzeit offline schreibt
Ein Beispiel für die Antwort auf die Referenzfrage der Studiensitzung. Mit Python.