首页 > 其他分享 >392.is-subsequence 判断子序列

392.is-subsequence 判断子序列

时间:2022-10-30 17:25:34浏览次数:73  
标签:string 392 subsequence vector 序列 size

问题描述

392.判断子序列

解题思路

1143.最长公共子序列基本一样,只需要再判断结果是否和s.size()相等就好了。

代码

class Solution {
  public:
    bool isSubsequence(string s, string t) {
        if (s.size() > t.size())
            return false;
        else {
            vector<vector<int>> dp(s.size() + 1, vector<int>(t.size() + 1, 0));
            for (int i = 1; i <= s.size(); i++) {
                for (int j = 1; j <= t.size(); j++) {
                    if (s[i - 1] == t[j - 1])
                        dp[i][j] = max(max(dp[i - 1][j], dp[i][j - 1]), dp[i - 1][j - 1] + 1);
                    else
                        dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);
                }
            }
            return dp[s.size()][t.size()] == s.size();
        }
    }
};

标签:string,392,subsequence,vector,序列,size
From: https://www.cnblogs.com/zwyyy456/p/16841699.html

相关文章

  • 115.distinct-subsequence 不同的子序列
    问题描述115.不同的子序列解题思路dp[i][j]表示考虑考虑t的前j个字符在s的前i个字符中的出现个数:if(s[i-1]==t[j-1])dp[i][j]=dp[i-1][j-1]+dp[i-......
  • 300.longest-increasing-subsequence 最长递增子序列
    问题描述300.最长递增子序列解题思路关键在于,dp[i]表示什么含义便于解这道题,子序列不一定连续,所以为了便于求解,dp[i]应该表示为以nums[i-1]结尾的最长严格递增子序列......
  • 674.longest-continuous-increasing-subsequence 最长连续递增序列
    问题描述674.最长连续递增序列解题思路dp[i]表示以nums[i-1]结尾的最长连续递增子序列长度;递推关系为:if(nums[i-1]>nums[i-2])dp[i]=dp[i-1]+1......
  • pikachu php反序列化漏洞
    原理php中serialize(),unserialize()这两个函数。序列化serialize()序列化说通俗点就是把一个对象变成可以传输的字符串,比如下面是一个对象:classS{publ......
  • 15.几种序列化方式
    什么是序列化关于序列化相信大家都很了解,在Java中我们经常就可以看到很多实体类或者 POJO 都会实现 Serializable 接口,有了解过 Serializable 接口的小伙伴应该都......
  • 【WC2019】数树(prufer序列,树上连通块DP,多项式exp)
    设两棵树的边集分别为\(E_1,E_2\),那么两棵树不同当且仅当它们对应的边集不同。转化一下可以发现,染色方案等于\(y^{n-|E_1\capE_2|}\),即由边集\(E_1\capE_2\)构成的......
  • FastJson序列化和反序列化问题记录
    序列化与反序列化问题调用外部接口,http://100.111.55.67:9999/cmdb/v0.2.0/departments?page_size=1000,返回数据格式如下:{"code":0,"content":[{......
  • 能够作用于序列的一些运算符和函数
    1、序列:可以分为可变序列和不可变序列;(可变:列表;不可变:元组,字符串)2、“+、*”“+”:序列的加法表示两个序列的拼接   “*”:表示序列的重复,复制   3、列表,元组......
  • 动态规划树状数组优化(M元上升子序列)
    我们先来看简单版:P1637三元上升子序列这道题显然考虑dp,转移式子也很好写设f[i][j]表示以a[j]结尾长度为i的上升子序列个数。显然答案就是\(\sum\limits_{k=1}^{n}f_{3......
  • Serialzable和Parcelable的区别?Bunder传递对象为什么需要序列化?
    1Bunder传递对象为什么需要序列化?因为bundle传递数据时只支持基本数据类型,所以在传递对象时需要序列化转换成可存储或可传输的本质状态(字节流)。序列化后的对象可以在网络、......