一组递增的数组,如何得到其中公差为10的等差数列最长长度?
例如:输入:[1,2,10,11,15,20,21,30,40]
输出应为4,因为最长的公差为10的等差数列[10,20,30,40]长度为4。
我的python代码:
df = [1,2,10,11,15,20,21,30,40]
i=0
common_differene=10
df_len=len(df)
for position_1 in range(df_len):
for position_2 in range(df_len):
if df[position_1] + common_differene == df[position_2]:
position_1=position_2
i=i+1
print(i)
输出结果为9而不是4,请问我要如何改进?
谢谢!