剑指offer 斐波那契系列
Posted yxl-2018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer 斐波那契系列相关的知识,希望对你有一定的参考价值。
T9-斐波那契用迭代
跳台阶
动规 py2
# -*- coding:utf-8 -*-
class Solution:
def jumpFloor(self, number):
# write code here
if number<0:
return -1
if number <=2:
return number
a,b=1,2
res = 0
for i in range(3,number+1):
res = a+b
a,b = b,res
return res
变态跳台阶
wo的初始迭代方法
# -*- coding:utf-8 -*-
class Solution:
def jumpFloorII(self, number):
# write code here
if number<0:
return -1
res = [0,1]
for i in range(2,number+1):
res.append(sum(res)+1)
return res[number]
数学--移位 py2
调到第n级台阶,前面的(n-1)级有跳与不跳两种选择吗,故答案为2^(n-1),并且用移位运算代替乘法运算来优化。
# -*- coding:utf-8 -*-
class Solution:
def jumpFloorII(self, number):
# write code here
if number<=0:
return -1
res = 1
return res<<(number-1)
矩形覆盖
动规 Py2
# -*- coding:utf-8 -*-
class Solution:
def rectCover(self, number):
# write code here
if number<0:
return -1
if number<=2:
return number
a,b=1,2
res=0
for i in range(3,number+1):
res = a+b
a ,b = b,res
return res
以上是关于剑指offer 斐波那契系列的主要内容,如果未能解决你的问题,请参考以下文章
剑指 Offer(C++版本)系列:剑指 Offer 10- I 斐波那契数列
剑指 Offer(C++版本)系列:剑指 Offer 10- I 斐波那契数列
剑指 Offer(C++版本)系列:剑指 Offer 10- I 斐波那契数列