이 간단한 도전에서는 L음수가 아닌 정수와 b0보다 길지만 길이가 아닌 빈 의 입력 배열이 제공 L됩니다. 코드는 M길이가 b배열을 비닝 한 새 배열을 반환해야합니다 L. 이것은 예제와 함께 가장 쉽게 설명됩니다.
L = [1,0,5,1]를 b = 2반환합니다 M = [1,6].
L = [0,3,7,2,5,1]를 b = 3반환합니다 M = [3,9,6].
지금까지는 간단합니다. 그러나이 질문에서 b반드시 나눌 필요는 없습니다 len(L). 이 경우 마지막 빈에는 숫자를 더 적게 만들 수 있습니다.
마지막 빈을 제외한 각 빈은 같은 수의 숫자를 가져야합니다. 마지막 빈에는 다른 빈보다 더 이상 숫자가 없어야합니다. 마지막 빈에는 다른 규칙에 따라 가능한 한 많은 수의 숫자가 있어야합니다.
L = [0,3,7,2,5,1]를 b = 4반환합니다 M = [3,9,6,0]. M = [10,8,0,0]제 빈이 빈들로 기여 번호 이름 참조하지 않는 허용 출력되지 1하고 2.
L = [0,3,7,2,5]를 b = 2반환합니다 M = [10,7]. M = [3, 14]마지막 빈에는 3기여하는 요소가 있지만 첫 번째 빈 에만 있는 요소 이므로 허용되는 출력 이 아닙니다 2.
L = [1,1,1,1,1,1,1]를 b = 3반환합니다 M = [3,3,1].
마지막으로 코드는 선형 시간으로 실행해야합니다.
원하는 언어 나 라이브러리를 사용할 수 있으며 입력이 편리한 방식으로 제공된다고 가정 할 수 있습니다.
해결할 수없는 입력이 있음이 밝혀졌습니다. 예를 들어 [1,1,1,1,1]및 b=4. 코드는 해당 입력에 대해 원하는 것을 출력 할 수 있습니다.
your code must run in linear time-자연스럽게 이상한 것을 따르지 않는 알고리즘을 발견 할 것입니다