博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最长公共子序列、最长递增子序列、最长递增公共子序列、最长子序列(leetcode 524)...
阅读量:6193 次
发布时间:2019-06-21

本文共 1466 字,大约阅读时间需要 4 分钟。

参考:https://www.cnblogs.com/sasuke-/p/5396843.html

 https://blog.csdn.net/someone_and_anyone/article/details/81044153

https://blog.csdn.net/someone_and_anyone/article/details/81044153

 https://blog.csdn.net/someone_and_anyone/article/details/81044153

最长子序列(leetcode 524)

用每个字符串同当前字符串进行匹配,看当前字符串是否是要匹配字符串的子串。

对所有字符串先排字典序,然后依次同要匹配的字符串匹配。

#include 
#include
#include
using namespace std;class Solution {public: string findLongestWord(string s, vector
& d) { sort(d.begin(), d.end()); int s_len = s.length(); string tmp = ""; int len_now = -1; for(auto it=d.begin(); it!=d.end(); it++) { int i_len = (*it).length(); if(s_len < i_len && i_len < len_now) { continue; } if(isValid(s, (*it)) && i_len > len_now) { tmp = (*it); len_now = i_len; } } return tmp; } bool isValid(string& s1, string& s2) { int len1 = s1.length(), len2 = s2.length(); int i=0,j=0; for(; i
s_v = {
"ale","apple","monkey","plea"}; string s1 = "abpcplea"; string res = sol.findLongestWord(s1, s_v); cout << res << endl; return 0;}
View Code

 

转载于:https://www.cnblogs.com/ya-cpp/p/10525589.html

你可能感兴趣的文章
分治法应用之一——Strassen矩阵乘法(转)
查看>>
linux-diff命令
查看>>
必须关注的25位知名JavaScript开发者
查看>>
linq直接执行sql语句
查看>>
POJ - 1170 Shopping Offers (五维DP)
查看>>
【Linux学习】Linux的文件权限(一)
查看>>
python的内存管理机制
查看>>
一个基于 EasyUI 的前台架构(3)封装操作Tabs的JS代码
查看>>
《深入理解Android 卷III》第四章 深入理解WindowManagerService
查看>>
hdu 5093 二分匹配
查看>>
a erlang crawler
查看>>
hdu 3586 Information Disturbing(树形dp + 二分)
查看>>
无聊,只发两张图……
查看>>
高考前
查看>>
小细节见实力,告诉你vivo Z3如何成为爆款千元机
查看>>
一汽-大众SUV家族冰雪驾控营启动 在失控中感受操控
查看>>
NBA全明星队长选人环节将直播 又有什么新故事?
查看>>
日本一名高龄男子开车冲上人行道 造成共7人受伤
查看>>
[贝聊科技]谈谈 iOS 如何动态切换 APP 的主题
查看>>
如何克服解决Git冲突的恐惧症?(序)
查看>>