Day.21 Fibonacci

Fibonacci(斐波那契数),大家多少一定会在教课书看过,老实说到我出社会工作都还没搞懂,之前每次看到都觉得这是在干嘛XD,直到後来我要去解一些DP(动态规划)的题目,才回来重学XD。

那什麽是Fibonacci?

它是一个数列,来看这一串数字
0,1,1,2,3,5,8,13,21,34,55,89.....
每一个数字都是前面两个的加总 ex: 1+1=2,1+2=3,2+3=5
转化成公式
https://ithelp.ithome.com.tw/upload/images/20210928/20129767mMFAqir9iZ.png
(from wiki)

leetcode有一题Fibonacci,顺便解一下~


Leetcode #509. Fibonacci Number

Input一个数字n,回传Fibonacci数列第n个位置的数值
ex.
n = 0, output: 0
n = 6, output: 8

程序:

func fib(n int) int {
	if n < 2 {
		return n
	}

	dp := map[int]int{}
	dp[0] = 0
	dp[1] = 1

	for i := 2; i <= n; i++ {
		dp[i] = dp[i-1] + dp[i-2]
	}

	return dp[n]
}

明天来解一条DP的经典题~


<<:  Day29,使用Dex、OIDC为你的Kubernetes再上一道锁 (2/2)

>>:  [Day 21] Mattermost - RSS

008-工作心得

今天不想提软件相关的心得,想来聊一点工作沟通相关的事情。在开始分享之前,必须要先提到,我知道自己不是...

Day 28 品质分数等於产品绩效吗?

我们在之前的分享中得知,品质分数多少会影响自然排序的表现,但很多人会把它和绩效挂上等号,这并不是必然...

第26天:实作档案上传功能(3)

昨天我们档案上传功能有个问题是不能上传太大的档案,根据我的研究发现,写入档案的部分所需要的时间是不一...

Day 2 弄好环境,跑一个范例服务器

作业系统是 Windows 10 安装 Anaconda 安装完後可以在开始选单中找到 Anacon...

Day3 program, process, thread傻傻分不清楚

昨天讲完了linux的核心架构,今天就开始让我们认识重要的部分吧。 以下是三个名词,程序(progr...