정수리스트를 주면, 또 다른 정수리스트를 출력하는 함수를 작성하는 것입니다. 이 단어에서 원하는 출력의 성격을 알려 어렵다, 나는 몇 가지 예제를 쓰고 :파이썬에서 주어진 방법으로리스트를 나누는 방법
# list with one element will be returned
>>> func([[1, 2, 3, 4]])
[[1, 2, 3, 4]]
>>> func([[1], [1, 2]])
[[1], [2]]
>>> func([[1, 2], [1]])
[[1], [2]]
>>> func([[1], [1, 2, 3]])
[[1], [2, 3]]
>>> func([[1], [1, 2, 3], [1, 4]])
[[1], [2, 3], [4]]
>>> func([[1, 2], [2, 3]])
[[1], [2], [3]]
>>> func([[1], [2], [1, 2, 3]])
[[1], [2], [3]]
>>> func([[1, 2], [1, 2, 3]])
[[1, 2], [3]]
>>> func([[1], [1, 2], [1, 2, 3]])
[[1], [2], [3]]
(UPDATE) 다음과 같은 전제 조건 사용할 수 있습니다
각 내부 목록에 이미 정렬 정수를 포함을 중복 입력이 없습니다.
외부 목록에는 중복 된 항목이 없습니다.
, 여기에 내가와 붙어있어 생각입니다 (UPDATE) 당신이 요청으로 :이 감독 그래프에 대한 몇 가지 최적화에 문제가 시작 지점과 같은 노드로 번호 및 내부 목록과,
입니다 (외부 목록은 모든 가장자리의 시작점 집합입니다). 이제 "단일 에지에 대한 시작점이 여러 개있는 경우 어떤 테스트 케이스에 표시 되는가?"라는 질문을 할 수 있습니다.
이것은 내가하려고하는 것입니다. func ([1, 2])
의 경우 노드 1 & 노드 2는 단일 노드에 병합 할 수 있습니다. [1, 2]
출력은이 두 가지를 병합 할 수 있음을 보여줍니다.
이제 func ([[1], [1, 2]])
을 확인하십시오. 두 번째 내부 목록은 노드 1 & 2를 병합하려고 시도하지만 첫 번째 내부 목록은 노드 1을 병합 할 수 없다고 말합니다. 따라서 출력은 [[1], [2]]
이며 노드 1 & 노드 2가 분리되어 유지됨을 나타냅니다.
func ([[1], [2, 3], [1, 2, 3]])
의 경우 노드 1은 분리되지만 노드 2 & 3은 병합 할 수 있습니다. 그래서 출력 func ([[1, 2], [2, 3]])
경우 [[1], [2, 3]]
될 것이며,도 2의 노드 1 & &도 2 3 3 노드 1 &로 병합 될 수 병합 될 수 있으므로, 예상 결과 [[1], [2], [3]]
이다.
꼭지점의 끝점으로 구성된 정수 목록이 있습니다. 각 정수는 각 내부 목록에 해당합니다. 내부 목록의 요소를 하나로 병합 할 때 가장자리가 하나만 남습니다. 그들이 분리되면, 싱글 톤 목록이 있으며, 각 요소는 출발점으로 사용됩니다. 그에 따라 종점 목록이 업데이트됩니다.
내 생각을 이해하는 데 도움이 될 것 같습니다.
또는 이전 요소와 함께 각 요소의 빼기를 설정할 수 있습니까? – cmd
'[[1,2], [2,3]]와 같은 대소 문자를 처리해야합니까? 두 번째 목록에는 첫 번째 요소의 모든 요소가 들어 있지 않습니다. – RoadieRich
'func ([1], [2], [1, 2, 3])'와 같은 경우 어떻게됩니까? 그것은 [[1], [2], [3]] 또는 [[1], [2], [1, 3]]을 반환합니까? –