// C++ 用一个dp数组记录最终string结果 ,内存会超 string LCS(string s1, string s2) { // write code here vector<vector><string>> dp(s1.size(), vector<string>(s2.size(), "")); for (int i1 = 0; i1 < s1.size(); ++i1) { if (s1[i1] == s2[0]) { dp[i1][0] = s1[i1]; } } for (int i2 = 0; i2 < s2.size(); ++i2) { if (s2[i2] == s1[0]) { dp[0][i2] = s2[i2]; } } for (int i1 = 1; i1 < s1.size(); ++i1) { for (int i2 = 1; i2 < s2.size(); ++i2) { if (s1[i1] == s2[i2]) { dp[i1][i2] = dp[i1 - 1][i2 - 1] + s1[i1]; }else { if (dp[i1 - 1][i2].size() > dp[i1][i2 - 1].size()) { dp[i1][i2] = dp[i1 - 1][i2]; } else { dp[i1][i2] = dp[i1][i2 - 1]; } } } } if (dp[s1.size() - 1][s2.size() - 1] == "") return "-1"; return dp[s1.size() - 1][s2.size() - 1]; }</string></string></vector>
点赞

相关推荐

05-07 17:58
门头沟学院 Java
wuwuwuoow:1.简历字体有些怪怪的,用啥写的? 2.Redis 一主二从为什么能解决双写一致性? 3.乐观锁指的是 SQL 层面的库存判断?比如 stock > 0。个人认为这种不算乐观锁,更像是乐观锁的思想,写 SQL 避免不了悲观锁的 4.奖项证书如果不是 ACM,说实话没什么必要写 5.逻辑过期时间为什么能解决缓存击穿问题?逻辑过期指的是什么 其实也没什么多大要改的。海投吧
简历中的项目经历要怎么写
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务