거꾸로 된 피라미드 추가는 숫자 목록을 가져와 한 숫자에 도달 할 때까지 숫자를 연속적으로 추가하는 프로세스입니다.
숫자 2, 1, 1
가 주어지면 다음 프로세스가 발생합니다.
2 1 1
3 2
5
이것은 숫자로 끝납니다 5
.
당신의 임무
Upside-Down Pyramid (오름차순)의 오른쪽이 주어지면 원래 목록을 반환하는 프로그램이나 함수를 작성하십시오.
새로운 추가 챌린지 : O (n ^ 2) 미만으로 시도해보십시오
예
f([5, 2, 1]) => [2, 1, 1]
f([84,42,21,10,2]) => [4,7,3,8,2]
참고 : 거꾸로 된 피라미드는 절대 비어 있지 않으며 항상 양의 정수로만 구성됩니다.
Try doing this in less than O(n)
분명히 n 크기 배열을 할당하거나 O (n) 복잡성보다 더 빠르게 O (n) 항목을 변경하는 것이 불가능합니까?