我嘗試做這個任務:codewars kata問題與得到正確的最高平均速度
說明:
在約翰的汽車GPS記錄每S秒的距離從起點行駛 (距離測量在任意但一致的 單位)。例如,下面是其中s = 15的記錄的一部分:
X = [0.0,0.19,0.5,0.75,1.0,1.25,1.5,1.75,2.0,2.25]的 區段:
0.0-0.19,0.19-0.5,0.5-0.75,0.75-1.0,1.0-1.25,1.25-1.50,1.5-1.75,1.75-2.0,2.0-2.25我們可以計算John的平均每小時的小時速度,我們得到:
[45.6,74.4,60.0,60.0,60.0,60.0,60.0,60.0,60.0]給定s和x 的任務是返回一個整數的平均最大平均速度 X。如果x長度小於 或等於1則返回0:汽車沒有移動。
實施例:
與上述數據的函數的GPS(X,S)應該返回74
我的代碼:
def gps(s, x)
i = 0
speed = 0
max = 0
0 if x.length <= 1
while i < x.length - 2
speed = get_speed(x[i].to_f, x[i + 1].to_f, s)
max = speed if speed > max
i += 1
end
print max.floor
end
def get_speed(a, b, s)
((b - a).abs * ((60/s) * 60))
end
問題是與通過一些測試。
測試: gps(20, [0.0, 0.23, 0.46, 0.69, 0.92, 1.15, 1.38, 1.61]) result: 41
- 正確 gps(12, [0.0, 0.11, 0.22, 0.33, 0.44, 0.65, 1.08, 1.26, 1.68, 1.89, 2.1, 2.31, 2.52, 3.25]) result: 77
- 不正確,應該是219
我沒有想法,我做錯了。有人可以提供一些提示來解決問題嗎?
你能在這裏發表的問題? – Pramod
@Pramod公佈更新後的 –