码迷,mamicode.com
首页 > 其他好文 > 详细

跳台阶,变态跳台阶,矩阵覆盖

时间:2019-04-05 20:09:37      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:return   code   write   覆盖   rect   a*   while   ctc   ber   

一、跳台阶

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

跳台阶,变态跳台阶,矩阵覆盖

标签:return   code   write   覆盖   rect   a*   while   ctc   ber   

原文地址:https://www.cnblogs.com/welan/p/10659475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!