劍指Offer7:斐波那契數列
阿新 • • 發佈:2018-11-27
思路:
1.先初始化第0項為0,第1項為1
2.判斷n是否等於0或者1,若是則返回相應的值
3.當n>=count時,開始進入while迴圈。首先計算出前一項和前前一項的和result,再者將前一項賦值給前前一項,result賦值給前一項,然後count+1。再次判斷n和count的關係,若成立繼續迴圈,不成立則返回result。
# -*- coding:utf-8 -*- class Solution: def Fibonacci(self, n): # write code here preprenum=0 prenum=1 result=0 count=2 if n == 0: return 0 if n == 1: return 1 while(count<=n): result=preprenum+prenum preprenum=prenum prenum=result count+=1 return result
還有一種思路:
# -*- coding:utf-8 -*- class Solution: def Fibonacci(self, n): # write code here s = [] s.append(0) s.append(1) for i in xrange(2,n+1): s.append(s[i-1]+s[i-2]) return s[n]
這是我看了大佬的思路,又改進了下的。