説明
すべての要素が最も近い整数に切り捨てられた範囲関数の結果が与えられます。あなたの目標は、元のリストを回復することです。
たとえば、次の関数(Python3)は、プログラムの入力を生成します。
from numpy import arange, floor
def floored_range(A, B, C):
return list(floor(arange(A, B, C)))
プログラムの出力は、元のデータの有効な推測である必要があります。ここで、有効な推測とは、フロア化されたときに入力と正確に一致し、範囲関数の可能な出力でなければならないことを意味します(つまり、グラフ化された場合、完全に直線を形成する必要があります)。
例
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, Cすると、任意の3つの浮動小数点数になります。入力フロア範囲は、たとえば、で始まり、56.7で終わり10.2、ステップサイズがである場合があり-2.159ます。重要なことは、出力されたポイントがフローリングされたときに入力と正確に一致することです。それを示す例を追加しました。