Bei einer Eingabe einer ganzen Zahl n und einer Liste positiver ganzer Zahlen m 1 , m 2 , ... wird eine Liste ganzer Zahlen m 1 ' , m 2 ' , ... ausgegeben , wobei m x ' als Durchschnitt von m definiert ist xn bis m x + n .
Ignorieren Sie bei der Berechnung dieser Durchschnittswerte Indizes, die außerhalb der Grenzen liegen (und passen Sie an, durch was Sie die Summe entsprechend dividieren). n ist immer ≥ 1, aber niemals die Hälfte der Länge von m (abgerundet) oder mehr. Dies bedeutet, dass die Mindestlänge von m 4 beträgt. Die Elemente in m sind positive ganze Zahlen, die Ausgabe muss jedoch auf mindestens 3 Dezimalstellen genau sein.
Die Eingabe- / Ausgabeelemente, die Listen sind, können entweder durch Leerzeichen / Kommas getrennte Zeichenfolgen oder Arrays / Listen / etc. Sein. Wenn Ihre Lösung eine Funktion ist, können Sie als Eingabe zusätzlich ein erstes Argument von n und zusätzliche Argumente als m x verwenden (dies gilt auch für Befehlszeilenargumente).
Hier ist eine visuelle Darstellung von 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
Da es sich um Code-Golf , der kürzeste Code in Bytes gewinnt.
Testfälle ( diese wurden manuell durchgeführt; bitte benachrichtigen Sie mich über eventuelle Fehler ):
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)
nicht das gleiche wie avg(1,2)
. Für die "Randfälle" (ha) sollten Sie nicht so viele Elemente der Eingabeliste mitteln.
m_i
positiv sind.