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];

    }
};
相关推荐
jyan_敬言8 分钟前
【C++】string类(二)相关接口介绍及其使用
android·开发语言·c++·青少年编程·visual studio
liulilittle31 分钟前
SNIProxy 轻量级匿名CDN代理架构与实现
开发语言·网络·c++·网关·架构·cdn·通信
张人玉1 小时前
C# 常量与变量
java·算法·c#
学不动CV了1 小时前
数据结构---链表结构体、指针深入理解(三)
c语言·arm开发·数据结构·stm32·单片机·链表
tan77º1 小时前
【Linux网络编程】Socket - UDP
linux·服务器·网络·c++·udp
weixin_446122462 小时前
LinkedList剖析
算法
GiraKoo2 小时前
【GiraKoo】C++14的新特性
c++
悠悠小茉莉2 小时前
Win11 安装 Visual Studio(保姆教程 - 更新至2025.07)
c++·ide·vscode·python·visualstudio·visual studio
坏柠2 小时前
C++ Qt 基础教程:信号与槽机制详解及 QPushButton 实战
c++·qt
泽02022 小时前
C++之红黑树认识与实现
java·c++·rpc