【力扣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()];
    }
};
相关推荐
S01d13r4 小时前
LeetCode 解题思路 48(编辑距离、只出现一次的数字)
算法·leetcode·职场和发展
C_Liu_4 小时前
C语言:深入理解指针(5)
java·c语言·算法
small_wh1te_coder4 小时前
从经典力扣题发掘DFS与记忆化搜索的本质 -从矩阵最长递增路径入手 一步步探究dfs思维优化与编程深度思考
c语言·数据结构·c++·stm32·算法·leetcode·深度优先
枫景Maple4 小时前
LeetCode 45. 跳跃游戏 II(中等)
算法·leetcode
এ᭄画画的北北4 小时前
力扣-236.二叉树的最近公共祖先
算法·leetcode
z人间防沉迷k5 小时前
堆(Heap)
开发语言·数据结构·笔记·python·算法
不二狗5 小时前
每日算法 -【Swift 算法】Two Sum 问题:从暴力解法到最优解法的演进
开发语言·算法·swift
LabVIEW开发5 小时前
LabVIEW中样条插值实现及应用
算法·labview知识
LabVIEW开发5 小时前
LabVIEW机械振动信号分析与故障诊断
算法·labview知识·labview开发案例
啊我不会诶6 小时前
CF每日5题(1300-1500)
算法·深度优先·图论