2466. 统计构造好字符串的方案数

题目链接 2466. 统计构造好字符串的方案数
思路 动态规划-“爬楼梯”变体
题解链接 爬楼梯换皮(Python/Java/C++/Go/JS/Rust)
关键点 \(dp(i) = dp(i-zero) + dp(i-one)\)
时间复杂度 \(O(high)\)
空间复杂度 \(O(high)\)

代码实现:

class Solution:
    def countGoodStrings(self, low: int, high: int, zero: int, one: int) -> int:
        MOD = 1_000_000_007
        f = [1] + [0] * high
        for i in range(1, high+1):
            if i >= zero: f[i] = (f[i] + f[i-zero]) % MOD
            if i >= one: f[i] = (f[i] + f[i-one]) % MOD
        return sum(f[low:]) % MOD
posted @ 2024-09-13 00:38  WrRan  阅读(4)  评论(0编辑  收藏  举报