【力扣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()];
    }
};
相关推荐
q***64971 天前
SpringMVC 请求参数接收
前端·javascript·算法
Lwcah1 天前
Python | LGBM+SHAP可解释性分析回归预测及可视化算法
python·算法·回归
小此方1 天前
从零开始手搓堆:核心操作实现 + 堆排序 + TopK 算法+ 向上调整 vs 向下调整建堆的时间复杂度严密证明!
开发语言·数据结构·算法
前端炒粉1 天前
35.LRU 缓存
开发语言·javascript·数据结构·算法·缓存·js
断剑zou天涯1 天前
【算法笔记】窗口内最大值或最小值的更新结构
java·笔记·算法
smj2302_796826521 天前
解决leetcode第3753题范围内总波动值II
python·算法·leetcode
骑着猪去兜风.1 天前
线段树(二)
数据结构·算法
fengfuyao9851 天前
竞争性自适应重加权算法(CARS)的MATLAB实现
算法
散峰而望1 天前
C++数组(二)(算法竞赛)
开发语言·c++·算法·github