美文网首页
斐波那契数列求n项

斐波那契数列求n项

作者: 一点东风 | 来源:发表于2019-05-11 23:52 被阅读0次

缓存方式

var fibMemo: [UInt: UInt] = [0: 0, 1: 1]
func fibCache(n: UInt) -> UInt {
    if fibMemo[n] != nil {
        return n
    } else {
        fibMemo[n] = fibCache(n: n - 1) + fibCache(n: n - 2)
        return fibMemo[n]!
    }
}

迭代方式

func fibIteration(n: UInt) -> UInt {
    if (n == 0) {
        return n
    }
    var last: UInt = 0, next: UInt = 1
    for _ in 1..<n {
        (last, next) = (next, last + next)
    }
    return next
}

相关文章

网友评论

      本文标题:斐波那契数列求n项

      本文链接:https://www.haomeiwen.com/subject/orifaqtx.html