Wenn Sie eine unsortierte Liste eindeutiger, streng positiver Ganzzahlen haben, sortieren Sie sie minimal in eine 2D-Matrix. Es wird garantiert, dass die Eingabeliste eine zusammengesetzte Länge hat, was bedeutet, dass die Ausgabematrix nicht unbedingt quadratisch ist, sondern eine Größe n x m
mit hat n,m > 1
.
"Minimal sortieren" bedeutet hier:
- Sortieren Sie die Liste in aufsteigender Reihenfolge.
- Komprimieren Sie die Ausgabematrix so weit wie möglich - minimieren Sie die Summe der Abmessungen der Matrix (z. B. ist für
20
Eingabeelemente als Eingabe eine5x4
oder4x5
Ausgabematrix erforderlich und nicht eine2x10
). - Komprimieren Sie die sortierten Zahlen so weit wie möglich links oben in der Matrix, beginnend mit dem ersten Element in der sortierten Liste.
- Man kann sich das so vorstellen, als würde man die Liste sortieren und dann entlang der Antidiagonalen der Matrix aufteilen, beginnend mit der oberen linken Ecke.
Beispiele:
Für die Eingabe 1..20
wird entweder eine 5x4- oder eine 4x5-Matrix wie folgt ausgegeben:
1 2 4 7 11
3 5 8 12 15
6 9 13 16 18
10 14 17 19 20
1 2 4 7
3 5 8 11
6 9 12 15
10 13 16 18
14 17 19 20
Für den Eingangsausgang [3, 5, 12, 9, 6, 11]
ist ein 2x3 oder 3x2 wie folgt
3 5 9
6 11 12
3 5
6 9
11 12
Für die Eingabe [14, 20, 200, 33, 12, 1, 7, 99, 58]
ist die Ausgabe 3x3 wie folgt
1 7 14
12 20 58
33 99 200
Für die Eingabe sollte 1..10
der Ausgang 2x5 oder 5x2 sein, wie folgt
1 2 4 6 8
3 5 7 9 10
1 2
3 4
5 6
7 8
9 10
Für die Eingabe ist die [5, 9, 33, 65, 12, 7, 80, 42, 48, 30, 11, 57, 69, 92, 91]
Ausgabe 5x3 oder 3x5 wie folgt
5 7 11 33 57
9 12 42 65 80
30 48 69 91 92
5 7 11
9 12 33
30 42 57
48 65 80
69 91 92
Regeln
- Es kann davon ausgegangen werden, dass die Eingabe in den systemeigenen Ganzzahltyp Ihrer Sprache passt.
- Die Eingabe und Ausgabe kann durch jede bequeme Methode erfolgen .
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig. Bei einer Funktion können Sie die Ausgabe zurückgeben, anstatt sie zu drucken.
- Standardlücken sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.
15
.