旧魏は学ぶためにあなたを取るの申し出を受賞---ブラシタイトルシリーズ(10長方形のカバー)

10.長方形のフットプリント

問題:

我々は、2使用できる横の小さな四角形1または垂直より大きな長方形を覆います。N 2の使用する大きな長方形2 * n個の重複のない小さな四角形1カバレッジ、どのように多くの方法の合計は?

例えば、2 * 3のタイルが覆われているのn = 3の場合は3つの方法があります。
ここに画像を挿入説明

ソリューション:

思想:

この質問はまだフィボナッチフィボナッチと考えられています

Pythonコード:

# -*- coding:utf-8 -*-
class Solution:
    def __init__(self):
        self.dynamic=[None]*100
    def rectCover(self, number):
        # write code here
        result=self.dynamic[number]
        if(result==None):
            if(number==0):
                result=0
            elif(number==1):
                result=1
            elif(number==2):
                result=2
            else:
                result=self.rectCover(number-1)+self.rectCover(number-2)
            self.dynamic[number]=result
        return result
公開された160元の記事 ウォン称賛30 ビュー70000 +

おすすめ

転載: blog.csdn.net/yixieling4397/article/details/104878134