음수가 아닌 정수 k와 정렬 된 정수 목록 L을 입력으로 사용하고 스무딩 된 목록을 출력하거나 반환하는 프로그램이나 함수를 작성해야 합니다 M.
M목록은 정렬 된 상태 L로 최대 k정수 요소를 삽입 하여 오름차순 목록에서 작성됩니다 . 삽입 된 정수는 최대 순방향 차이가 M가능한 작게 선택되어야 합니다. 이 가장 작은 값을 "부드러움"이라고합니다.
목록의 앞으로 차이 -1 3 8 11 15는 4 5 3 4이며 최대 앞으로 차이는 5입니다.
2삽입을 사용하면 2 10 15is 의 부드러움 4과 출력이 2 6 10 11 15앞으로 다를 수 4 4 1 4있습니다.
입력
- 음이 아닌 정수
k. L최소 2 개의 요소가 있는 오름차순 정수 목록 .
산출
- 오름차순 정수 목록
M. - 여러 정답이 존재하면 정확히 하나를 출력합니다 (하나라도 충분 함).
- 귀하의 솔루션은 내 컴퓨터 에서 1 분 이내에 예제 테스트 사례를 해결해야 합니다 (닫기 사례 만 테스트합니다. 평균 이하의 PC가 있습니다).
예
입력 ( k, L) => 괄호 안의 가능한 출력 및 최대 순방향 차이 (출력의 일부가 아님)
0, 10 20 => 10 20 (10)
2, 1 10 => 1 4 7 10 (3)
2, 2 10 15 => 2 6 10 11 15 (4)
3, 2 10 15 => 2 5 8 10 12 15 (3)
5, 1 21 46 => 1 8 15 21 27 33 39 46 (7)
5, 10 20 25 33 => 10 14 18 20 24 25 29 33 (4)
3, 4 4 6 9 11 11 15 16 25 28 36 37 51 61 => 4 4 6 9 11 11 15 16 22 25 28 36 37 45 51 59 61 (8)
15, 156 888 2015 => 156 269 382 495 608 721 834 888 1001 1114 1227 1340 1453 1566 1679 1792 1905 2015 (113)
8, -399 -35 -13 56 157 => -399 -347 -295 -243 -191 -139 -87 -35 -13 39 56 108 157 (52)
5, 3 3 3 => 3 3 3 3 (0)
이것은 코드 골프이므로 가장 짧은 항목이 이깁니다.
rF<seq>두 요소 튜플을 풀기 위해 사용하는 것을 생각하지 않았습니다 .