# -*- coding:utf-8 -*-
class
solution
:def
fibonacci
(self, n)
:# write code here
if n ==0:
return
0if n ==1:
return
1if n<=0:
return
none
else
: a =
0 b =
1 c =
0for i in
range(0
,n-1):
c = b
b = a + b
a = c
return b
遇到並解決的問題:
for語句中,最初沒有引入變數 c。
只寫作 b = a + b
a = b
忘記當b變化時,a也不再是原來那個b。
因此需要引入乙個新的變數c,在b被改變之前,來儲存原有的b。
寫作:c = b
b = a + b
a = c
另外需要注意:
最後返回的是b
重拾python語法:
1.if 後面 不用加括號,但最後要加冒號
if n==0 :
2.返回空值的寫法:
return none
3.for range語句:
迴圈n次:for i in range(0,n)
#i=0,1,2,3,……n-1,一共正好是n次。
劍指offer刷題 斐波那契數列
題目一 寫乙個函式,輸入n,求斐波那契數列的第n項。對於題目一,接觸過遞迴人可能首先想到的就是通過遞迴的方法解決問題,例如計算第10項的斐波那契數列首先來看一下遞迴解決問題的思路,主要如下圖所示 我們可以發現,採用這種方式,做了很多的重複工作,例如f 8 就計算了兩次,第n是乙個非常大的數時,這耗費...
劍指offer刷題日記 鍊錶
鍊錶03 從尾到頭列印鍊錶 python 採用insert方法 class solution def printlist self,listnode if not listnode return result while listnode result.insert 0 listnode.val l...
劍指offer刷題day01
題目 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。分析1 二維陣列的含義 a 3,4 為3行4列的陣列,想要判斷是否存在該整數,暴力法是一定可以成功的,我...