392. 判断子序列

复制代码
class Solution {
public:
    bool isSubsequence(string s, string t) {

        // 公共子序列是不是s  长度相同
        // dp[i][j] 表示以下标i-1为结尾的字符串s,和以下标j-1为结尾的字符串t,相同子序列的长度为dp[i][j]。

        // if s[i] == t[j]   dp[i][j] = dp[i-1][j-1] = true

        if (s.size() == 0) return false;

        int m = s.size();
        int n = t.size();

        vector<vector<int>> dp(m+1, vector<int>(n+1, false));

        for (int i = 1; i <= m; i++) {
            for (int j = 1; j <= n; j++) {
                if (s[i - 1] == t[j - 1]) dp[i][j] = dp[i - 1][j - 1] + 1;
                else dp[i][j] = dp[i][j - 1];

            }
        }

        if (dp[s.size()][t.size()] == s.size()) return true;
        return false;
        
    }
};
复制代码

 

posted on   TMatrix52  阅读(1)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2020-02-17 Attention Is All You Need

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示