【力扣hot100题】(093)最长公共子序列

还算是挺简单的一题。

维护二维数组代表截至至两个字符串的某个位置,前面的最长公共子序列长度。

状态转移方程就是当两字符相等是,取俩位置前一个的值加一,否则就直接等于俩位置前一个值。

cpp 复制代码
class Solution {
public:
    int longestCommonSubsequence(string text1, string text2) {
        vector<vector<int>> common(text1.size()+1,vector<int> (text2.size()+1,0));
        for(int i=1;i<=text1.size();i++){
            for(int j=1;j<=text2.size();j++){
                if(text1[i-1]==text2[j-1]) common[i][j]=max(common[i][j],common[i-1][j-1]+1);
                else common[i][j]=max(common[i-1][j],common[i][j-1]);
            }
        }
        return common[text1.size()][text2.size()];
    }
};
相关推荐
We་ct2 分钟前
LeetCode 1. 两数之和:两种高效解法(双指针 + Map)
前端·算法·leetcode·typescript·哈希算法
aini_lovee5 分钟前
基于MATLAB的材料晶粒组织生长与变化模拟:方法、实现与应用
开发语言·算法·matlab
t198751288 分钟前
基于MATLAB的Copula对数似然值计算与参数验证
人工智能·算法·matlab
潇冉沐晴12 分钟前
div2 1064补题笔记(A~E)
笔记·算法
YuTaoShao12 分钟前
【LeetCode 每日一题】3640. 三段式数组 II——(解法二)DP
算法·leetcode·职场和发展
我爱工作&工作love我24 分钟前
P4913 【深基16.例3】二叉树深度 dfs-二叉树的遍历
算法·深度优先·图论
TracyCoder12331 分钟前
LeetCode Hot100(25/100)——2. 两数相加(链表)
算法·leetcode·链表
long31632 分钟前
Z算法(线性时间模式搜索算法)
java·数据结构·spring boot·后端·算法·排序算法
望未来无悔43 分钟前
系统学习算法 专题十九 优先级队列(堆)
java·算法
啊阿狸不会拉杆44 分钟前
《机器学习导论》第3章 -贝叶斯决策理论
人工智能·python·算法·机器学习·numpy·深度优先·贝叶斯决策理论