跳臺階,變態跳臺階,矩陣覆蓋

1、跳臺階

一、問題描述

跳臺階:
一隻青蛙一次能夠跳上1級臺階,也能夠跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(前後次序不一樣算不一樣的結果)。code

二、代碼

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

2、變態跳臺階

一、問題描述

變態跳臺階
一隻青蛙一次能夠跳上1級臺階,也能夠跳上2級……它也能夠跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。it

二、代碼

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

3、矩陣覆蓋

一、問題描述

矩形覆蓋:
咱們能夠用21的小矩形橫着或者豎着去覆蓋更大的矩形。請問用n個21的小矩形無重疊地覆蓋一個2*n的大矩形,總共有多少種方法?io

二、代碼

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
相關文章
相關標籤/搜索