计算机基础 - 动态规划、分治法、memo
2024-09-06 15:15:08
动态规划 ≈ 分治法 + memo
def memo(func):
cache = {}
def wrap(*args):
if args not in cache:
cache[args] = func(*args)
return cache[args]
return wrap
@memo # 注释掉这个装饰器
def fib(i):
if i < 2:
return 1
return fib(i-1) + fib(i-2)
print(fib(55))
cache = {}
def memo(func):
def wrap(*args):
if args not in cache:
cache[args] = func(*args)
return cache[args]
return wrap
@memo
def fib(i):
if i < 2:
return 1
return fib(i-1) + fib(i-2)
print(fib(55))
print(cache)
另外,关于*args当参数传函数为unpack
def foo(*args):
print(args)
args = (1,2,34,)
foo(*args)
foo(args)
最新文章
- 初识SpringMvc
- Linux yum配置文件详解
- 查看centos的版本
- Jquery+Ajax+Json的使用(微信答题实例)
- CS程序,服务器端弹出MessageBox.Show()之类的UI操作???禁止
- I.MX6 Android USB Touch eGTouchA.ini文件存放
- 网站开发常用jQuery插件总结(九)侧边栏插件pageslide
- Vitaliy and Pie(模拟)
- .net 控件开发第二天 怎么将 第一天写的代码 用到 .net中来
- PHP中的面向对象思想
- 【转】Mysql索引设计原则
- 解决matplotlib库在PyCharm和命令行都无法正常显示问题
- docker:Dockerfile构建LNMP平台
- HTTP请求响应报文 - 相关状态码 - GET_POST请求方法
- 服务器--apache启用多个端口的方法
- Docker学习4-Containers - 容器
- 设置matplotlib画图支持中文显示
- SQL SERVER发布与订阅
- scala中“_”的用法
- [User Defaults] Failed to read values in CFPrefsPlistSource (iOS 10)
热门文章
- echart如何去掉X 、Y轴的网格线
- SpringMvc执行流程及底层代码流程
- IDEA常用操作链接
- 我竟然把today = new Date();写在了全局变量里面
- YARN High Availablity
- 4.用springboot写的第一个程序--helloworld
- Python的DataFrame遍历_转CSDN_J小白Y
- 【PAT甲级】1114 Family Property (25分)(并查集)
- AJAX-状态属性
- (转)多进程 &; 多线程的区别与适用场景