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

文章目录

题目描述

题解思路

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

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

则状态转移方程为f[i] = f[i - zero] + f[i - 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/

相关推荐
Frostnova丶12 分钟前
LeetCode 735 & 2751.栈模拟碰撞问题详解
算法·leetcode
回到原点的码农13 分钟前
GO 快速升级Go版本
开发语言·redis·golang
IT大师兄吖16 分钟前
Qwen3-ASR 1.7B 音频转字幕 懒人整合包
人工智能·算法·音视频
爱丽_26 分钟前
数据库索引为什么选 B+ 树:InnoDB 聚簇索引、回表与覆盖索引
数据库·算法·哈希算法
ん贤28 分钟前
AI 大模型落地系列|Eino ADK体系篇:你对 ChatModelAgent 有了解吗?
人工智能·golang·eino·chatmodelagent
wfbcg31 分钟前
每日算法练习:LeetCode 28. 找出字符串中第一个匹配项的下标 ✅
算法·leetcode·职场和发展
酉鬼女又兒1 小时前
零基础快速入门前端深入掌握箭头函数、Promise 与 Fetch API —— 蓝桥杯 Web 考点全解析(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·css·职场和发展·蓝桥杯·es6·js
迷藏4941 小时前
**发散创新:Go语言中基于上下文的优雅错误处理机制设计与实战**在现代后端开发中,**错误处理**早已不是简单
java·开发语言·后端·python·golang
阿Y加油吧1 小时前
力扣滑动窗口两大压轴题:最小覆盖子串 + 滑动窗口最大值(保姆级思路 + 代码详解)
算法·leetcode·职场和发展
北顾笙9801 小时前
day11-数据结构力扣
数据结构·算法·leetcode