고유 한 양의 정수로 구성된 정렬되지 않은 목록이 있으면 2D 행렬로 최소한 정렬하십시오. 입력 목록은 복합 길이 여야합니다. 즉 출력 행렬이 반드시 정사각형 일 필요는 없지만 크기 n x m
는 n,m > 1
입니다.
여기서 "최소 정렬"은 다음을 의미합니다.
- 목록을 오름차순으로 정렬하십시오.
- 출력 행렬을 가능한 한 압축하십시오-행렬 크기의 합계를 최소화하십시오 (예 :
20
입력 요소 인 입력 요소의 경우 a5x4
또는4x5
출력 행렬이 필요하지만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
요소 테스트 사례를 추가했습니다 .