画画图就明白了
本质上还是斐波那契数列的变形

import java.util.*;
public class Solution {
    public int rectCover(int target) {
        if (target == 0) {
            return 0;
        }
        int temp1 = 0, temp2 = 1, result = 0;
        for (int i = 1; i <= target; ++i) {
            result = temp1 + temp2;
            temp1 =temp2;
            temp2 = result;
        }
        return result;
    }
}