整数nの入力と正の整数m 1、 m 2、...のリストが与えられると、整数m 1 '、 m 2 '、...のリストを出力します。ここで、m x 'はmの平均として定義されます xnからm x + n。
これらの平均を計算するとき、範囲外のインデックスを無視します(それに応じて合計を除算するものを調整します)。nは常に≥1になりますが、mの長さの半分(切り捨て)以上にはなりません。これは、mの最小長が4 であることを意味します。mの要素ます正の整数になりますが、出力は小数点以下3桁まで正確でなければなりません。
リストである入力/出力要素は、空白/コンマ区切りの文字列または配列/リスト/などのいずれかです。入力については、ソリューションが関数の場合、nの最初の引数とm xとして追加の引数を追加で取ることができます(これはコマンドライン引数にも適用されます)。
以下が視覚的な表現ですn=1。
1 4 5 7 10
__/ | | |
L avg(1,4) = 2.5
| | |
\___/ | |
L avg(1,4,5) = 3.333
| |
\___/ |
L avg(4,5,7) = 5.333
|
\___/
L avg(5,7,10) = 7.333
\___
L avg(7,10) = 8.5
Final output: 2.5 3.333 5.333 7.333 8.5
これはcode-golfであるため、バイト単位の最短コードが優先されます。
テストケース(これらは手動で行われました。エラーがある場合は通知してください):
In Out
----------------------------------------------------------------------
n=1, m=12 6 3 9 9 7 6 6
n=1, m=1 4 5 7 10 2.5 3.333 5.333 7.333 8.5
n=1, m=1 3 3 7 4 2 4 2 2 2.333 4.333 4.666 4.333 3.333 2.666 3
n=2, m=1 3 5 9 10 14 15 16 23 3 4.5 5.6 8.2 10.6 12.8 15.6 17 18
n=3, m=1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
n=3, m=1 2 3 4 5 6 7 8 2.5 3 3.5 4 5 5.5 6 6.5
avg(0,1,2)同じではありませんavg(1,2)。「エッジケース」(ha)の場合、入力リストの要素を平均化するべきではありません。
m_i肯定的であるという制限がなければ、より良い課題でした。