原代码:

def fib(n):

  if n == 1:

    return 1

  elif n == 2:

    return 2

  else:

    return fib(n-1)+fib(n-2)

改进后:

def fib_efficient(n,d):

  if n in d:

    return d[n]

  else:

    ans = fib_efficient(n-1,d) + fib_efficient(n-2,d)

    d[n] = ans

    return ans

d = {1:1, 2:2}

print(fib_efficient(6,d))

最新文章

  1. jQuery中的Ajax几种请求方式
  2. centos7下安装vsftpd配置
  3. 删除SSMS中保存的帐户信息
  4. CorelDRAW 二维码插件
  5. 安卓开发入门之activity
  6. c#里listview里如何获取点击的是哪一列
  7. Mahout之(二)协同过滤推荐
  8. hdu 5536 xor题
  9. PageRank——Google的民主表决算法
  10. 实现Runnable接口和继承Thread类之间的区别
  11. docker~学习笔记索引
  12. CentOS7 使用firewalld打开关闭防火墙与端口
  13. Python之函数参数
  14. 洛谷P3268 [JLOI2016]圆的异或并(扫描线)
  15. 559. Maximum Depth of N-ary Tree
  16. leecode第二百三十七题(删除链表中的节点)
  17. 橙色优学:Java编程怎么提升技术,Java编程思维至关重要
  18. 【网站管理6】_一个网站SEO优化方案
  19. VBA二次学习笔记(2)——两个Excel表内容比较
  20. FJUT 倒水(倒水问题)题解

热门文章

  1. SpringBoot24 SpringDataJPA环境搭建、实体类注解、关联查询
  2. 在Sqlserver中使用Try Catch
  3. 734. Sentence Similarity 有字典数组的相似句子
  4. 使用RVM更新Ruby 版本
  5. C语言代码里不能用goto?
  6. 使用原理视角看 Git
  7. 使用 Vue.component
  8. datebox 和 datetimebox 添加『清空』按钮
  9. Orace开源的异步IO编程库,特点是接口非常简单
  10. vmware10中arch使用遇到的一些问题