leetcode-790-Domino and Tromino Tiling
问题
We have two types of tiles: a 2x1 domino shape, and an “L” tromino shape. These shapes may be rotated.
1 | XX <- domino |
Given N, how many ways are there to tile a 2 x N board? Return your answer modulo 10^9 + 7.
(In a tiling, every square must be covered by a tile. Two tilings are different if and only if there are two 4-directionally adjacent cells on the board such that exactly one of the tilings has both squares occupied by a tile.)
1 | Example: |
Note:
- N will be in range
[1, 1000]
.
分析
$dp[i]$ 表示填充完本列之后对下一列所产生的影响。$dp[0]$ 表示填充本列没有对下一行产生影响,$dp[1]$ 表示填充完本列导致下一列的第一行被占用,$dp[2]$ 表示填充完本列导致下一列的第二行被占用,$dp[3]$ 表示填充完本列导致下一列的两行都被占用。
代码
1 | class Solution { |
Author: Hatton.Liu
Link: http://hattonl.github.io/2020/03/28/leetcode-790/
License: 知识共享署名-非商业性使用 4.0 国际许可协议