题目
解题
这题知识点是 斐 波 那 契 数 列 \color{#4285f4}{斐}\color{#ea4335}{波}\color{#fbbc05}{那}\color{#4285f4}{契}\color{#34a853}{数}\color{#ea4335}{列} 斐波那契数列
斐波那数列:
当数列是这样的:1、1、2、3、5、8、13、21、34、……
数学上就是递推的形式,公式为:
F
(
1
)
=
1
,
F
(
2
)
=
1
,
F
(
n
)
=
F
(
n
−
1
)
+
F
(
n
−
2
)
F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)
F(1)=1,F(2)=1,F(n)=F(n−1)+F(n−2)
(
n
≥
3
,
n
∈
N
∗
)
(n ≥ 3,n ∈ N*)
(n≥3,n∈N∗)
每次爬一或者两阶台阶,正好符合公式里的
(
n
−
1
)
,
(
n
−
2
)
(n-1),(n-2)
(n−1),(n−2)
其实用笨办法算个两个就知道数列是和斐波那契是符合的
class Solution:
def climbStairs(self, n: int) -> int:
if n == 1:
return 1
lst = [0,1,2] # 这里就是初始值 因为列表是从0开始的就多设置了0
for i in range(3, n+1): # 数列是从3开始 range(n)是n-1,到不了n
m = lst[i-1] + lst[i-2]
lst.append(m)
return lst[-1]
结果:
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/search-insert-position
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
3.11
over