class Solution {
public:
std::string LongestCommonSubsequence(const std::string& s1, const std::string& s2) {
if (s1.empty()||s2.empty()) {
return 0;
} //dp
std::vector<std::vector<int>> dp(s1.size()+1,std::vector<int>(s2.size()+1,0));
for(int i=1;i<s1.size()+1;i++) {
for(int j=1;j<s2.size()+1;j++) {
dp[i][j]=(s1[i-1]==s2[j-1])?dp[i-1][j-1]+1:std::max(dp[i-1][j],dp[i][j-1]);
}
} //search path
std::string res;
for(int i=s1.size(),j=s2.size();i>0&&j>0;) {
if(s1[i-1]==s2[j-1]) {
res.insert(0,1,s1[i-1]);
i--;
j--;
}
else {
if(dp[i-1][j]>dp[i][j-1]) {
i--;
}
else {
j--;
}
}
} return res;
}
};

最新文章

  1. 学习笔记 MYSQL报错注入(count()、rand()、group by)
  2. [LeetCode] Burst Balloons 打气球游戏
  3. 我的VPN推荐经历
  4. 为什么那么多人想开发一元夺宝类app?
  5. Ubuntu中启用关闭Network-manager网络设置问题!
  6. 安卓第十天笔记-fragment
  7. VS的工程链接优化的问题
  8. ORACLE之手动注册监听listener。alter system set local_listener=&quot;XXX&quot;
  9. 【Xamarin挖墙脚系列:Xamarin开发环境配置需求】
  10. logstash 使用grok正则解析日志
  11. 如何使用dynamic
  12. python entry points 例子
  13. Vs2012 构建配置 Lua5.2.3
  14. BackgroundWorker组件使用总结
  15. SpringMVC同时使用&lt;mvc:resources … /&gt;和日期转换Formatter时出现问题的解决方法
  16. MIPI DSI之DBI DPI含义和区别(3-1)
  17. 简单的了解一下AQS吧
  18. jqgrid点击搜索无法重置参数问题
  19. 数据库中关于convert的参数学习(转化函数用法)
  20. PythonStudy——字符串扩展方法 String extension method

热门文章

  1. 蓝桥杯vip题阶乘计算
  2. BUAAOO——UNIT2 SUMMARY
  3. jenkins-gitlab-harbor-ceph基于Kubernetes的CI/CD运用(三)
  4. 2020kali浏览器汉化等配置
  5. python浅学【网络服务中间件】之Celery
  6. Servlet(三)----Servlet体系与HTTP
  7. 面试刷题21:java并发工具中的队列有哪些?
  8. 解决在linux下的eclipse syso Alt+/无法使用
  9. 基于海龟编辑器python少儿编程
  10. HDU 4325 Flowers 树状数组+离散化