스도쿠 게임에서 많은 플레이어는 각 광장에 들어갈 수있는 가능한 숫자를 "연필"하는 것을 좋아합니다.
위의 행은 배열로 나타낼 수 있습니다.
[[1,2,9], [6], [5], [7], [1,2,9], [1,2,9], [3], [1,2,4], [8]]
이제 4
갈 수 있는 곳은 한 곳 밖에 없습니다 . 이를 통해 위의 목록을 단순화하여 다음을 수행 할 수 있습니다.
[[1,2,9], [6], [5], [7], [1,2,9], [1,2,9], [3], [4], [8]]
이 문제의 목표는 순열에서 가능한 숫자의 목록을 가져 와서 제거 할 수있는 가능성을 추론하는 것 입니다.
다른 예로, 다음과 같은 가능성이 있다고 가정 해 보겠습니다.
[[0,1,3], [0,2,3], [1,2], [1,2]]
마지막 두 자리 는 1과 2로 채워 져야합니다 . 따라서 배열의 처음 두 요소에서 이러한 가능성을 제거 할 수 있습니다.
[[0,3], [0,3], [1,2], [1,2]]
다른 예로서 :
[[0,1,2,3], [0,2], [0,2], [0,2]]
그것의 불가능은 모두 만 1 위치 거기로, 위의 가능성에서 순열을 구성 1
하고 3
, 당신은 빈 배열을 반환 할 것입니다.
가능성 목록을 입력하고 최대 가능성을 제거한 후에 나머지 가능성을 출력해야합니다.
- 특정 배열이 불가능한 경우 빈 배열 또는 하위 배열 중 하나가 비어있는 배열을 반환해야합니다.
- 배열의 형식이 양호하고 하나 이상의 요소가 있다고 가정 할 수 있습니다.
- 크기의 배열을 감안할 때
N
, 당신은 항상 범위에있을 것입니다 부분 배열의 수를 가정 할 수있다[0:N)
, 그N <= 10
- 에서
0
까지의 모든 숫자N-1
가 존재 한다고 가정하지 않을 수도 있습니다. - 단일 하위 배열 내의 숫자가 고유하다고 가정 할 수 있습니다.
- 하위 배열에 단일 가능성 만 포함 된 경우 가능성을 배열 또는 자체적으로 나타낼 수 있습니다.
[[1],[2],[0]]
,[1,2,0]
,[[1,2],0,[1,2]]
모두 유효합니다. - 합리적인 문자열 형식 또는 목록 / 배열 형식으로 배열을 승인 할 수 있습니다.
- 하위 배열은 임의의 순서로있을 수 있습니다.
- 비정형 배열을 처리하는 대신 빈 자리를로 채울 수 있습니다
-1
.
테스트 사례
[[0]] -> [[0]]
[[1],[0]] -> [[1],[0]]
[[1],[1]] -> []
[[1],[0,1]] -> [[1],[0]]
[[0,1,2],[1,2],[1,2]] -> [[0],[1,2],[1,2]]
[[0,1],[1,2],[0,2]] -> [[0,1],[1,2],[0,2]]
[[2,1],[1,2],[1,2]] -> []
[[0,3],[2,1],[3,0],[3,2]] -> [[0,3],[1],[0,3],[2]]
[[0,1],[0,1],[2,3],[2,3,0]] -> [[0,1],[0,1],[2,3],[2,3]]
[[0,1],[0,3],[3,2],[0]] -> [[1],[3],[2],[0]]
[[3,5,2],[0,2,4],[4,0],[0,1,3,5],[2,1],[2,4]] -> [[3,5],[0,2,4],[4,0],[3,5],[1],[2,4]]
[[6,9,8,4],[4,5],[5,3,6],[3,8,6,1,4],[3,1,9,6],[3,7,0,2,4,5],[9,5,6,8],[6,5,8,1,3,7],[8],[8,0,6,2,5,6,3]] -> [[6,9,4],[4,5],[5,3,6],[3,6,1,4],[3,1,9,6],[0,2],[9,5,6],[7],[8],[0,2]]
[[3,5,0],[5,7],[5,1,2],[1,3,0],[5,3],[5,0],[5,3,7,8,0,6],[7,5,0,1,8],[1,0,8],[0,6]] -> []
[[9,0,2,3,7],[0,7,6,5],[6,9,4,7],[9,1,2,3,0,5],[2,8,5,7,4,6],[6,5,7,1],[5,9,4],[5,9,3,8,1],[5,0,6,4],[0,7,2,1,3,4,8]] -> [[9,0,2,3,7],[0,7,6,5],[6,9,4,7],[9,1,2,3,0,5],[2,8,5,7,4,6],[6,5,7,1],[5,9,4],[5,9,3,8,1],[5,0,6,4],[0,7,2,1,3,4,8]]
[[2,6,0],[0,4,3],[0,6,2],[0,7],[0,9,2,3,6,1,4],[1,7,2],[2,7,8],[8,6,7],[6,5,2,8,0],[5,8,1,4]] -> [[2,6,0],[3],[0,6,2],[0,7],[9],[1],[2,7,8],[8,6,7],[5],[4]]
[[8],[8,0,6,5,7,2,4,1],[8,6,9,3,5,0,7],[3,9,1,0],[9],[9,2,6],[2,8,3],[3,1,6,8,2],[6],[6,4,5,3,0,7]] -> [[8],[5,7,4],[5,7],[0],[9],[2],[3],[1],[6],[4,5,7]]
[[8,1,0],[5,8,7,6,2,0],[6,8,2],[2,4,0,9],[4,1,7,3,6,8],[8,1],[8,0,3],[0,8,2],[0,8,3],[1,8,0]] -> []
이것은 코드 골프 이므로 가능한 한 빨리 답변하십시오!