给定一个正整数的有限算术序列,其中一些项从中间删除,请重构整个序列。
任务
考虑一个算术序列:一个正整数列表,其中两个连续元素之间的差是相同的。
2 5 8 11 14 17
现在,假设受以下约束,从序列中删除一个或多个整数:
- 删除的整数将是该序列的连续项。
- 序列中的第一个和最后一个整数将不会被删除。
- 序列中至少保留三个整数。
对于上述顺序,可能的删除包括:
2 5 8 14 17 (removed 11)
2 5 17 (removed 8 11 14)
2 14 17 (removed 5 8 11)
您的任务:给定这些部分序列之一,重建原始的完整序列。
细节
您可能会认为输入有效(有解决方案)并且至少缺少一个术语。序列中的所有数字均为正(> 0)整数。序列在项之间可以具有正或负差(即,可以增加或减少)。它不是一个恒定的序列(例如5 5 5
)。
您的解决方案可能是完整程序或功能。任何默认的输入和输出方法都是可以接受的。
您的输入和输出可以是字符串(带有任何合理的定界符),字符串列表或数字列表。您可以使用方便的语言来代表数字。
请在您的提交中提及任何异常的I / O方法/格式,以便其他人能够更轻松地测试您的代码。
测试用例
In: 2 5 8 14 17
Out: 2 5 8 11 14 17
In: 2 5 17
Out: 2 5 8 11 14 17
In: 2 14 17
Out: 2 5 8 11 14 17
In: 21 9 6 3
Out: 21 18 15 12 9 6 3
In: 10 9 5
Out: 10 9 8 7 6 5
In: 1 10 91 100
Out: 1 10 19 28 37 46 55 64 73 82 91 100
这是代码高尔夫球;每种语言中最短的答案将获胜。
2 5 ... 17