我已经在这个网站上滚动了一段时间,但是最近才真正对尝试一些挑战很有兴趣。我本来打算尝试一些现有的代码高尔夫球主题,但是昨天我有一段时间没有互联网访问权限,与此同时,我考虑了自己的挑战。
您的任务是创建一个程序或函数,该程序或函数采用Floats数组a
和一个整数n
,然后将每个值设置a
为旁边两个值的平均值n
。当重复使用增大值时n
,会产生类似波浪的运动:
细节:
- 如果碰巧中只有一项
a
,n
或者等于或小于0,则程序应返回原始数组。 - 输入和输出可以以所需的任何格式显示,只要它们在视觉上是分开的即可。
对于每个步骤:
- 中的第一项
a
应成为其自身与下一项的平均值。 - 中的最后一项
a
应成为其自身与上一项的平均值。 - 中的任何其他项目
a
应成为上一项和下一项的平均值。 - 确保您要计算的是上一步的数组,而不是当前的数组!
测试用例:注意:您的输入/输出不必采用这种格式!
[0, 0, 1, 0, 0], 1 -> [0, 0.5, 0, 0.5, 0]
[0, 0, 1, 0, 0], 2 -> [0.25, 0, 0.5, 0, 0.25]
[0, 0, 1, 0, 0], 0 -> [0, 0, 1, 0, 0]
[0, 0, 1, 0, 0], -39 -> [0, 0, 1, 0, 0]
[0, 16, 32, 16, 0], 1 -> [8, 16, 16, 16, 8]
[0, 1, 2, 3, 4, 5], 1 -> [0.5, 1, 2, 3, 4, 4.5]
[0, 64], 1 -> [32, 32]
[0], 482 -> [0]
[32, 32, 32, 16, 64, 16, 32, 32, 32], 4 -> [33, 27, 40, 22, 44, 22, 40, 27, 33]
这是代码高尔夫球,因此最短答案以字节为单位。获奖者将在一周内(8月1日)被选中。祝好运!
编辑:恭喜获胜者@issacg,其字节数高达18个!
n
应该是4,而不是5
n
没有提供和a
没有提供的情况-它们并没有增加太多。