Beschreibung
Sie erhalten die Ergebnisse einer Bereichsfunktion, bei der jedes Element auf die nächste ganze Zahl abgerundet wurde. Ihr Ziel ist es, die ursprüngliche Liste wiederherzustellen.
Die folgende Funktion (in Python3) erzeugt beispielsweise eine Eingabe für Ihr Programm:
from numpy import arange, floor
def floored_range(A, B, C):
return list(floor(arange(A, B, C)))
Die Ausgabe Ihres Programms sollte eine gültige Schätzung der Originaldaten sein. Eine gültige Vermutung bedeutet hier, dass sie genau mit der Eingabe im Boden übereinstimmen muss und eine mögliche Ausgabe einer Bereichsfunktion sein muss (dh, wenn sie grafisch dargestellt wird, muss sie eine perfekt gerade Linie bilden).
Beispiele
Input: [1,2,3,4]
Output: [1,2,3,4]
Input: [1,2,3,4]
Output: [1.9,2.7,3.5,4.3]
Input: [1,2,3,4,5,5]
Output: [1.9,2.7,3.5,4.3,5.1,5.9]
Input: [1,1,2,2,3,3,4,4]
Output: [1,1.5,2,2.5,3,3.5,4,4.5]
Input: [1,1,2,3,3,4]
Output: [1,1.7,2.4,3.1,3.8,4.5]
Input: [56, 54, 52, 50, 48, 45, 43, 41, 39, 37, 35, 32, 30, 28, 26, 24, 22, 19, 17, 15, 13, 11]
Output: [56.7 , 54.541, 52.382, 50.223, 48.064, 45.905, 43.746, 41.587,
39.428, 37.269, 35.11 , 32.951, 30.792, 28.633, 26.474, 24.315,
22.156, 19.997, 17.838, 15.679, 13.52 , 11.361]
A, B, Ckönnen drei beliebige Floats sein. Der Eingangsbereich kann beispielsweise bei beginnen, bei 56.7enden 10.2und eine Schrittgröße von haben -2.159. Das einzige, was zählt, ist, dass die Punkte, die Sie ausgeben, wenn sie auf dem Boden liegen, genau mit der Eingabe übereinstimmen. Ich habe ein Beispiel hinzugefügt, das das zeigt.