learn go memoization
2024-10-15 09:50:25
package main // 参考文章:
// https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/06.12.md import (
"fmt"
"time"
) const LIM = var fibs [LIM]uint64 func main() {
var result uint64 =
start := time.Now()
for i := ; i < LIM; i++ {
result = fibonacci(i)
fmt.Printf("fibonacci(%d) is: %d\n", i, result)
} end := time.Now()
delta := end.Sub(start)
fmt.Printf("longCalculation took this amount of time:%s\n", delta)
} func fibonacci(n int) (res uint64) {
// memoization: check if fibonacci(n) is already known in array
if fibs[n] != {
res = fibs[n]
return
}
if n <= {
res =
} else {
res = fibonacci(n - ) + fibonacci(n - )
} fibs[n] = res
return
}
最新文章
- 原生node的header
- 用hexdump获取event的输出信息
- mac 下打开多个Eclipse
- 关于codeMirror插件使用的一个坑
- ASP.NET WEB API的服务托管(Self-HOST)
- iOS:核心动画之关键帧动画CAKeyframeAnimation
- C++中的多重继承与虚继承的问题
- Double 类型运算时的精度问题
- 【Xamarin 跨平台机制原理剖析】
- std::numeric_limits<;int>;::max() error C2589: &#39;(&#39; : illegal token on right side of &#39;::&#39; 解决办法
- 上传Android或Java库到Maven central repository(转载)
- JavaScript正则表达式模式匹配(3)——贪婪模式和惰性模式
- Dynamics CRM2015 页面导航栏顶部全局快速查找功能配置
- Redux学习(3) ----- 结合React使用
- ios开发之--两次模态弹出后,怎么返回最上层的页面
- vue权限路由实现方式总结
- pycharm(2016.3.2版本)导入工程文件执行程序时弹出Edit configuration
- Step by Step Learn Python(1)
- Linux下的内核模块机制
- 030——VUE中鼠标语义修饰符