小谈递归---recursion(2)

memo={1:1,2:2,3:6}
def fibonacci(n):
    """memo 的用法"""
    if n in memo:
        return memo[n]
    
    res = fibonacci(n -1) * n
    memo[n] = res
    return res

print(fibonacci(6))

这里用上dict(),保存了一系列的初始值,其实就大大减少了运算量和内存,
妙啊...

reference:
《像计算机科学家一样学python》

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,840评论 1 32
  • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 5,863评论 0 1
  • Python语言特性 1 Python的函数参数传递 看两个如下例子,分析运行结果: 代码一: a = 1 def...
    伊森H阅读 8,210评论 0 15
  • Python语言特性 1 Python的函数参数传递 看两个如下例子,分析运行结果: 代码一: a = 1 def...
    时光清浅03阅读 3,421评论 0 0
  • log对数损失函数(逻辑回归) 有些人可能觉得逻辑回归的损失函数就是平方损失,其实并不是。平方损失函数可以通过线性...
    Arya鑫阅读 11,585评论 0 9