LeetCode讲解篇之2466. 统计构造好字符串的方案数

文章目录

题目描述

题解思路

组成长度为i的字符串个数 = 组成长度为i - zero的字符串个数 + 组成长度为i - one的字符串个数

设数组f中i号元素的值为组成长度为i的字符串个数

则状态转移方程为fi = fi - zero + fi - one,其中需要舍弃为负数的下标

最终我们计算完f中所有值后,计算f数组中low, high区间和就为此题的答案

我们需要注意在进行计算过程中要对1000000007取余

题解代码

go 复制代码
func countGoodStrings(low int, high int, zero int, one int) int {
    f := make([]int, high + 1)
    f[0] = 1
    for i := 1; i <= high; i++ {
        if i >= zero {
            f[i] = f[i - zero]
        }
        if i >= one {
            f[i] += f[i - one]
        }

        f[i] = f[i] % 1000000007
    }

    ans := 0
    for i := low; i <= high; i++ {
        ans += f[i]
    }

    return ans % 1000000007
}

题目链接

https://leetcode.cn/problems/count-ways-to-build-good-strings/

相关推荐
8Qi815 小时前
回文子串(Palindromic Substrings)—— 题解
算法·leetcode·职场和发展·动态规划
张忠琳19 小时前
【Go 1.26.4】(Part 1) Go 1.26.4 超深度源码分析 — 总体架构与模块全景
开发语言·golang
小宋加油啊19 小时前
机械臂抓取物体 PVN3D算法调研学习
学习·算法·3d
lqqjuly19 小时前
前沿算法深度解析(一)
算法
小欣加油20 小时前
leetcode1926 迷宫中离入口最近的出口
数据结构·c++·算法·leetcode·职场和发展
happymaker06261 天前
LeetCodeHot100——42.接雨水
算法
阿正的梦工坊1 天前
【Rust】07-错误处理:Option、Result 与 ? 运算符
开发语言·算法·rust
协享科技1 天前
Spring Boot 与 Go 双服务架构实践:从单体拆分到通信设计
java·人工智能·spring boot·后端·架构·golang·ai编程
八解毒剂1 天前
数据结构-平衡二叉树——对二叉搜索树的优化
数据结构·c++·算法