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 9als Ausgang für N = 1, 94als Ausgang für N = 2 und 940als Ausgang für N = 3.
Das 4 × 3-Raster
7423
1531
6810
hätte 8als Ausgang für N = 1, 86für N = 2, 854für N = 3 und 7423für N = 4.
Das 3 × 3-Raster
000
010
000
hätte ausgegeben 1für N = 1 und 10für N = 2 und N = 3 ( 010gilt auch für N = 3).
Das 1 × 1-Raster
0
hätte ausgegeben 0fü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.