青蛙跳台
**跳台階
題目:寫乙個函式,輸入n,求斐波那契(fibonacci)數列的第n項。
斐波那契數列的定義如下:
f (n
)=
0& \text\\ 1& \text\\ f(n-1)+f(n-2)& \text \end
f(n)=⎩
⎪⎨⎪⎧
01f
(n−1
)+f(
n−2)
n=0
n=1n>1
class
solution
:def
fab(self, n)
:if n ==0:
return
0if n ==1:
return
1else
:return self.fab(n-1)
+ self.fab(n-
2)
# -*- coding:utf-8 -*-
class
solution
:def
fibonacci
(self, n)
:if n ==0:
return
0if n ==1:
return
1else
:sum=0
a =0 b =
1while n >1:
sum= a+b
# 保留大的數,把小的捨掉
a = b
b =sum n -=
1return
sum# write code here
題目描述
乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法(先後次序不同算不同的結果)。
# -*- coding:utf-8 -*-
class
solution
:def
jumpfloor
(self, number)
:# write code here
if number ==1:
return
1if number ==2:
return
2else
: j_one =
1 j_two =
2sum=0
for i in
range(2
, number)
:sum
= j_one + j_two
j_one = j_two
j_two =
sumreturn
sum
題目描述
乙隻青蛙一次可以跳上1級台階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。
# -*- coding:utf-8 -*-
class
solution
:def
jumpfloorii
(self, number)
:# write code here
if number ==1:
return
1
a =1sum=0
for i in
range(1
, number)
:sum=2
* a a =
sumreturn
sum
或者
# -*- coding:utf-8 -*-
class
solution
:def
jumpfloorii
(self, number)
:# write code here
return
pow(
2, number-
1)
Java 劍指offer 面試題10 斐波那契數列
求斐波那契數列的第n項 遞迴 遞迴法實現起來簡單,但是因為會計算重複的節點,這就意味著計算量會隨著n的增大急劇增大。當計算n 50,第50項的時候已經相當耗時 非遞迴 可以採用迴圈,先得到f 0 f 1 相加得到f 2 再相加得到f 3 再得到f 4 依次得到f n 寫乙個函式,輸入n,求斐波那契數...
(劍指offer)面試題10 斐波那契數列
大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項。變形 青蛙跳台,乙隻青蛙可以一次跳1個台階,也可以一次跳2個台階。求該青蛙跳上n級台階總共多少種跳法 class solution def fibonacci self,n temparray 0,1 初始值0,1 if ...
劍指Offer 面試題10斐波那契數列
劍指offer面試題彙總 題目描述 寫乙個函式,輸入 n 求斐波那契 fibonacci 數列的第 n 項。斐波那契數列的定義如下 f 0 0,f 1 1 f n f n 1 f n 2 其中 n 1.斐波那契數列由 0 和 1 開始,之後的斐波那契數就是由之前的兩數相加而得出。答案需要取模 1e9...