- number <= 3,直接返回;
- 定义dp记录前两项的值;
- 递推:当前项=前两项之和;
- 返回最后结果。
class Solution {
public:
int rectCover(int number) {
if (number <= 3) return number;
int dp[2];
dp[0] = 2;
dp[1] = 3;
for (int i = 4; i <= number; i++) {
int sum = dp[0] + dp[1];
dp[0] = dp[1];
dp[1] = sum;
}
return dp[1];
}
};