如果输入数组分别是算术和几何系列,则下面的代码返回“算术”,“几何”,如果两者都不是,则返回-1。算术/几何系列
虽然代码工作正常,当我改变
if s = arr.length - 1
到
if s == arr.length - 1
在while
循环中,代码不能正常工作了。
我不明白为什么。不应该==
而不是=
?
def ArithGeo(arr)
# code goes here
len = arr.length
difference = arr[len-1] - arr[len-2]
ratio = arr[len-1]/arr[len-2]
k = 0
s = k + 1
while (arr[s] - arr[k]) == difference && s < arr.length
if s = arr.length - 1
return "Arithmetic"
end
k += 1
end
k = 0
while arr[s]/arr[k] == ratio && s < arr.length
if s = arr.length - 1
return "Geometric"
end
k += 1
end
return -1
end
谢谢您解释其背后的基本原理。 – IliasP