一意の厳密に正の整数のソートされていないリストが与えられた場合、最小限で2Dマトリックスにソートします。入力リストは複合長であることが保証されています。つまり、出力行列は必ずしも正方形ではなく、サイズがn x m
とn,m > 1
。
ここでの「最小ソート」とは、次のことを意味します。
- リストを昇順で並べ替えます。
- 出力行列を可能な限りコンパクトにします-行列の次元の合計を最小化し
20
ます(たとえば、入力として入力要素の5x4
場合、aではなくa または4x5
output行列が必要です2x10
)。 - ソートされたリストの最初の要素から始めて、ソートされた数値を可能な限りマトリックスの左上まで圧縮します。
- これは、リストを並べ替えてから、マトリックスの対角線に沿って左上からスライスすることと考えることができます。
例:
入力の1..20
場合、出力は次のように5x4または4x5マトリックスです。
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
入力の[3, 5, 12, 9, 6, 11]
場合、出力は次のように2x3または3x2です
3 5 9
6 11 12
3 5
6 9
11 12
入力の[14, 20, 200, 33, 12, 1, 7, 99, 58]
場合、出力は次のように3x3です
1 7 14
12 20 58
33 99 200
入力の場合1..10
、出力は次のように2x5または5x2である必要があります
1 2 4 6 8
3 5 7 9 10
1 2
3 4
5 6
7 8
9 10
入力の[5, 9, 33, 65, 12, 7, 80, 42, 48, 30, 11, 57, 69, 92, 91]
場合、出力は次のように5x3または3x5です
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
ルール
15
要素のテストケースを追加しました。