一、跳台阶
1、问题描述
跳台阶:
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
2、代码
class Solution:
def jumpFloor(self, number):
# write code here
a = 1
b = 1
for i in range(number):
a, b = b, a+b
return a
二、变态跳台阶
1、问题描述
变态跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
2、代码
class Solution:
def jumpFloorII(self, number):
# write code here
a = 1
if number==1:
return 1
while number>1:
a = a*2
number = number-1
return a
三、矩阵覆盖
1、问题描述
矩形覆盖:
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
2、代码
class Solution:
def rectCover(self, number):
# write code here
if number <=2:
return number
a = 1
b = 2
c = 0
for i in range(number-2):
c = a+b
a = b
b = c
return c
原文地址:https://www.cnblogs.com/welan/p/10659475.html
时间: 2024-10-25 19:12:54