소개
포인터 배열은 배열 인 L제로가 아닌 정수의 0 ≤ L[i]+i < len(L)모든 인덱스에 대한 보유 i(0 기반 인덱스를 가정). 우리는 인덱스가 있다고 i 지적 인덱스에 L[i]+i. 인덱스가 길이의 단일주기를 형성하는 경우 포인터 배열은 루프len(L) 입니다. 여기 몇 가지 예가 있어요.
[1,2,-1,3]는3인덱스를 가리 키지 않기 때문에 포인터 배열 이 아닙니다.[1,2,-1,-3]는 인덱스를 가리 키지 않기 때문에 포인터 배열이지만 루프는 아닙니다-1.[2,2,-2,-2]인덱스는 두 사이클을 형성하기 때문에 포인터 배열이지만 루프는 아닙니다.[2,2,-1,-3]루프입니다.
입력
귀하의 입력은 임의의 합리적인 형식으로 0이 아닌 정수의 비어 있지 않은 목록입니다. 정렬되지 않았거나 중복 된 내용 일 수 있습니다.
산출
출력은 다중도를 계산하여 입력 목록의 모든 정수 (및 다른 정수도 포함)를 포함하는 루프 여야합니다. 그것들은 입력에서와 같은 순서로 발생할 필요가 없으며, 출력이 어떤 의미에서든 최소 일 필요는 없습니다.
예
입력 [2,-4,2]의 경우 허용 가능한 출력이됩니다 [2,2,-1,1,-4].
규칙과 득점
전체 프로그램 또는 함수를 작성할 수 있습니다. 가장 낮은 바이트 수가 이기고 표준 허점 은 허용되지 않습니다. 귀하의 답변에 몇 가지 예제 입력 및 출력을 포함시키는 것이 좋습니다.
테스트 사례
이것들은 형식으로 제공됩니다 input -> some possible output(s).
[1] -> [1,-1] or [1,1,1,-3]
[2] -> [2,-1,-1] or [1,2,-2,-1]
[-2] -> [1,1,-2] or [3,1,2,-2,-4]
[2,-2] -> [2,-1,1,-2] or [2,-1,2,-2,-1]
[2,2,2] -> [2,-1,2,-2,2,-2,-1] or [2,2,2,2,-3,-5]
[2,-4,2] -> [2,2,-1,1,-4] or [2,5,1,1,1,-4,2,-7,-1]
[3,-1,2,-2,-1,-5] -> [2,3,-1,2,-1,-5] or [3,3,-1,-1,2,2,-1,6,1,1,1,1,-12,-5]
[-2,-2,10,-2,-2,-2] -> [10,-1,1,-2,-2,1,-2,-2,1,-2,-2]
[-15,15,-15] -> [15,-1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,-15,-15]
[1,2,3,4,5] -> [1,2,3,-1,4,-1,5,-1,-1,-9,-1,-1]
n = 0스펙에 " 0이 아닌 정수 "가 표시 되므로 특수한 경우를 처리 할 필요가 없습니다 .