leetcode 115. 不同的子序列

题目如下

数据范围

复制代码
这道题和leetcode 3290. 最高乘法得分有异曲同工之妙同样是考虑两个序列。思路见下面文章

leetcode 3290. 最高乘法得分

cpp 复制代码
class Solution {
public:
    int numDistinct(string s, string t) {
        int n = t.size(),m = s.size();
        if(m < n)return 0;
        if(m == n && s != t)return 0;
        int mod = 1e9 + 7;
        vector<vector<int>> dp(n + 1,vector<int>(m + 1,0));
        dp[0][0] = 1;
        for(int i = 0;i <= m;i++)dp[0][i] = 1;
        for(int i = 1;i <= n;i++){
            for(int j = 1;j <= m;j++){
                if(s[j - 1] == t[i - 1]){
                    dp[i][j] = dp[i - 1][j - 1];
                }
                dp[i][j] = (dp[i][j] + dp[i][j - 1]) % mod;
             //   cout << dp[i][j] << " ";
            }
         //   cout << endl;
        }
        return dp[n][m];

    }
};
相关推荐
byte轻骑兵10 分钟前
【C++类和数据抽象】复制构造函数
开发语言·c++
孞㐑¥23 分钟前
C++之异常
开发语言·c++·经验分享·笔记
songx_9924 分钟前
算法设计与分析7(贪心算法)
算法
CoderCodingNo30 分钟前
【GESP】C++三级练习 luogu-B2114 配对碱基链
开发语言·c++
aigonna30 分钟前
Kimi 7B 语音转文字
算法
敲代码的瓦龙33 分钟前
C++?动态内存管理!!!
c语言·开发语言·数据结构·c++·后端
虾球xz41 分钟前
游戏引擎学习第248天:清理数据块显示
c++·学习·游戏引擎
Ronin3051 小时前
【C++】13.list的模拟实现
开发语言·数据结构·c++·list
weixin_435208161 小时前
图解模型并行框架
人工智能·算法·语言模型·自然语言处理·aigc
序属秋秋秋1 小时前
《数据结构初阶》【顺序表 + 单链表 + 双向链表】
c语言·数据结构·笔记·链表