001: Rummy Numbers
Serie | treffen:problemsolving |
Von | nopx |
Datum | 29.April 2021 |
Download | Aufgabenbeschreibung [pdf] |
Schwierigkeit |
Weitere Informationen
Lösungen
nopx
Mein Lösung. Spoiler Alert! [pdf]
import sys import numpy as np def solve(): n = np.array(sys.argv[1:], dtype=int) assert(len(n) == 13) for i in range(13): minl = min(n[(i-1) % 13], n[(i-2) % 13]) minr = min(n[(i+1) % 13], n[(i+2) % 13]) if n[i % 13] - minl - minr > min(n[(i-1) % 13]-minl, n[(i+1) % 13]-minr): return 1 return 0
Diskussion
Ich denke, ich habe eine ganz gute Lösung gefunden. Wenn wir die Anzahl an möglichen Karten als Parameter k annehmen (k=13) dann hab ich eine Laufzeit in O(k). Für große k auch einfach zu parallelisieren. Aufgeschrieben ist auch schon. Hochgeladen wird wann anders. Ich will ja nicht spoilern.
Wie siehts bei euch aus?
Vermutlich doch eher Schwierigkeit 2/5. :)