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

zc0qhyus  于 2022-12-15  发布在  iOS
关注(0)|答案(1)|浏览(83)

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

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)
8i9zcol2

8i9zcol21#

您已经很好地处理了项0和项1,所以最好在循环中保持相同的逻辑。

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

相关问题