Paint Fence
Thoughts
Code
class Solution {
public:
int numWays(int n, int k) {
if (n == 0) return 0;
if (n == 1) return k;
int same_cnt = k, diff_cnt = k * (k - 1);
for (int i = 3; i <= n; ++i) {
int tmp = diff_cnt;
diff_cnt = (same_cnt + diff_cnt) * (k - 1);
same_cnt = tmp;
}
return same_cnt + diff_cnt;
}
};Analysis
Last updated