''' 有两种形状的瓷砖:一种是 2 x 1 的多米诺形,另一种是形如 "L" 的托米诺形。两种形状都可以旋转。 给定整数 n ,返回可以平铺 2 x n 的面板的方法的数量。返回对 109 + 7 取模 的值。 平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺不同,当且仅当面板上有四个方向上的相邻单元中的两个,使得恰好有一个平铺有一个瓷砖占据两个正方形。 ''' class Solution: def numTilings(self, N: int) -> int: a=[0, 1, 2, 5] b=[0, 1, 2, 4] c = 10**9+7 if N<4: return a[N] for i in range(4, N+1): a.append((a[i-1]+2*b[i-2]+a[i-2])%c) b.append((a[i-1]+b[i-1])%c) return a[N]
LeetCode每日一题11.12多米诺和托米诺平铺
最新推荐文章于 2024-06-14 09:55:36 发布