Schreiben Sie ein Programm oder eine Funktion, die eine positive Ganzzahl N und ein Dezimalstellenraster (0 bis 9) mit der Breite W und der Höhe H (die auch positive Ganzzahlen sind) enthält. Sie können davon ausgehen, dass N kleiner oder gleich dem größeren von W und H ist.
Die größte zusammenhängende N-stellige Zahl drucken oder zurückgeben, die horizontal oder vertikal im Raster angezeigt wird, in normaler Lesereihenfolge oder in umgekehrter Reihenfolge.
- Diagonale Ziffernreihen werden nicht berücksichtigt.
- Das Gitter wird nicht umbrochen, dh es gibt keine periodischen Randbedingungen.
Zum Beispiel das 3 × 3-Raster
928
313
049
hätte 9
als Ausgang für N = 1, 94
als Ausgang für N = 2 und 940
als Ausgang für N = 3.
Das 4 × 3-Raster
7423
1531
6810
hätte 8
als Ausgang für N = 1, 86
für N = 2, 854
für N = 3 und 7423
für N = 4.
Das 3 × 3-Raster
000
010
000
hätte ausgegeben 1
für N = 1 und 10
für N = 2 und N = 3 ( 010
gilt auch für N = 3).
Das 1 × 1-Raster
0
hätte ausgegeben 0
für N = 1.
Sie können die Eingabe in einem beliebigen, angemessenen Format vornehmen. Beispiel: Das Raster kann eine durch Zeilenumbrüche getrennte Zeichenfolge oder ein mehrdimensionales Array oder eine Liste mit Ziffern usw. sein. Führende Nullen sind in der Ausgabe zulässig, wenn sie Teil des Rasters sind.
Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes, aber ich werde auch Brownie-Punkte (dh wahrscheinlichere Aufwärtsbewertungen) für Antworten vergeben, die zeigen können, dass ihr Algorithmus rechnerisch effizient ist.