LeetCode392:判断子序列

题目链接:392. 判断子序列 - 力扣(LeetCode)

代码如下:

复制代码
class Solution {
public:
    bool isSubsequence(string s, string t) {
        int len1 = s.size();
        int len2 = t.size();
        int result = 0;
        vector<vector<int> > dp(len1 + 1, vector<int>(len2 + 1, 0));
        for(int i = 1; i <= len1; i++)
        {
            for(int j = 1; j <= len2; j++)
            {
                if(s[i - 1] == t[j - 1])
                {
                    dp[i][j] = dp[i - 1][j - 1] + 1;
                }
                else
                {
                    dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);
                }
                if(dp[i][j] > result)
                {
                    result = dp[i][j];
                }
            }
        }

        if(result == len1)
        {
            return true;
        }
        return false;
    }
};

这个判断自序列其实就是和之前的判断公共,重复子序列一样,就只是返回的值不一样,思路完全一模一样

类型题详细介绍:LeetCode718:最长重复子数组-CSDN博客

LeetCode1035:1035. 不相交的线 - 力扣(LeetCode)

这个题目其实和不相交的线也是一样的,不相交的线其实都可以转换为这个公共子序列问题来编写

这都是一系列问题

相关推荐
计算机安禾14 小时前
【算法分析与设计】第36篇:计算几何基础:凸包问题的分治与扫描线解法
大数据·人工智能·算法·机器学习·剪枝
货拉拉技术14 小时前
飞速发展的计算机视觉
人工智能·算法
如竟没有火炬14 小时前
寻找峰值——二分
java·开发语言·数据结构·python·算法·散列表
noipp14 小时前
推荐题目:洛谷 P1115 最大子段和
算法
Lumbrologist14 小时前
【C++】零基础入门 · 第 17 节:多线程编程基础
java·c++·算法
轻闲一号机15 小时前
【语音】笔记
前端·笔记·算法
aWty_15 小时前
实分析入门(12)--可测函数
学习·数学·算法·实变函数
海砥装备HardAus15 小时前
无人机姿态解算中「重力矢量观测退化」机理与动态补偿技术
算法·无人机·飞控
广州灵眸科技有限公司15 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) 开发套件组装上电
网络·数据库·人工智能·算法·飞书
SuperHeroWu716 小时前
【算法】强化学习中奖励和损失函数的关系
算法·环境·强化学习·损失函数·奖励