题目:​​原题链接​(中等)

标签:动态规划

解法

时间复杂度

空间复杂度

执行用时

Ans 1 (Python)

O ( N )

O ( 1 )

40ms (83.33%)

Ans 2 (Python)

Ans 3 (Python)

解法一:

class Solution:
_MOD = 10 ** 9 + 7

def numTilings(self, n: int) -> int:
now = [1, 0, 0, 0] # 两行均无空格,第1行空格,第2行空格,两行空格
for _ in range(n):
nxt = [0, 0, 0, 0]
nxt[0] = (now[0] + now[1] + now[2] + now[3]) % self._MOD
nxt[1] = (now[2] + now[3]) % self._MOD
nxt[2] = (now[1] + now[3]) % self._MOD
nxt[3] = (now[0]) % self._MOD
now = nxt
return now[0]