代码随想录二刷 day57

392.判断子序列

递归方程还是写不出来;

class Solution {
public:
    bool isSubsequence(string s, string t) {
       vector> dp(s.size() + 1, vector(t.size() + 1, 0));
       for (int i = 1; i <= s.size(); i++) {  //i几行
            for (int j = 1; j <= t.size(); 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]; //这一步是删除t里面的元素
                }
            }
       }
       if (dp[s.size()][t.size()] == s.size()) return true; //这个题就是求最长公共子数列,如果公共子列长度等于s的长度那么s就可以由t以相同顺序
       else return false;
    }
};

115.不同的子序列

递归方程还是写不出

你可能感兴趣的:(算法,leetcode,职场和发展)