我的斐波那契算法代码说,索引超出范围,我不明白,为什么



这是我计算斐波那契数的代码,当我编译它时,这里有一个错误"索引超出范围"。

func fib(n: Int) -> Int { 
var fibArray = [Int]()
fibArray.insert(0, at: 0)
fibArray.insert(1, at: 1)
for i in 2...n {
fibArray[i] = fibArray[i-1] + fibArray[i-2]
}
return fibArray[n]
}
var a = fib(n: 8)
print(a)

第0项和第1项处理得很好,所以不妨在循环中保持相同的逻辑。

fibArray.insert(fibArray[i-1] + fibArray[i-2], at: i)

最新更新