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

打印 上一主题 下一主题

主题 1761|帖子 1761|积分 5283


还算是挺简单的一题。
维护二维数组代表停止至两个字符串的某个位置,前面的最长公共子序列长度。
状态转移方程就是当两字符相等是,取俩位置前一个的值加一,否则就直接等于俩位置前一个值。
  1. class Solution {
  2. public:
  3.     int longestCommonSubsequence(string text1, string text2) {
  4.         vector<vector<int>> common(text1.size()+1,vector<int> (text2.size()+1,0));
  5.         for(int i=1;i<=text1.size();i++){
  6.             for(int j=1;j<=text2.size();j++){
  7.                 if(text1[i-1]==text2[j-1]) common[i][j]=max(common[i][j],common[i-1][j-1]+1);
  8.                 else common[i][j]=max(common[i-1][j],common[i][j-1]);
  9.             }
  10.         }
  11.         return common[text1.size()][text2.size()];
  12.     }
  13. };
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

天津储鑫盛钢材现货供应商

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表