如何判断两个字符串是否相互包含?
来源:互联网 发布:淘宝助理申通模板 编辑:程序博客网 时间:2024/04/29 10:23
两个连续字符串?语言不限?
class MainClass{public static void Main(string[] args){string a="abcnow";string b="now";if(a.IndexOf(b)>=0)Console.WriteLine("contain");}}
c++实现?
STL find?不行的,么有这种重载
std::find(std::istreambuf_iterator<_CharT>, std::istreambuf_iterator<_CharT>, const _CharT2&)
自己实现:
/************************************************************************* > File Name: temp.cpp > Title: ************************************************************************/#include<iostream>#include<string>#include<algorithm>using namespace std;//在a中寻找b返回在a中索引,没有返回a.size()size_t contain(string& a,string& b){size_t i;for(i=0;i<a.size();++i){if(a[i]==b[0]){size_t j=0,cur=i; //要设置临时的cur=i;解决类似aab ab的问题while(a[cur++]==b[j++]){if(cur==a.size()||j==b.size())break;}if(j==b.size())return i;}}return i;}int main(){string a("adknow");string b("now");cout<<contain(a,b)<<endl;}
不连续也可以算包含?
可以转化为检查a,b的最长公共子序列是不是等于a或b,典型的DP问题
或者使用上面设置两个指针进行遍历的方法
求取最长公共子序列长度?
令dp[i][j]=f(i,j),表示a的前i与b的前j项的最长公共子序列长度
状态转移方程如下:
int LCS(string& a,string& b){int dp[a.size()+1][b.size()+1];for(int i=0;i<=a.size();++i){for(int j=0;j<=b.size();++j){if(i==0||j==0)dp[i][j]=0;else if(a[i]==b[j])dp[i][j]=dp[i-1][j-1]+1;elsedp[i][j]=max(dp[i-1][j],dp[i][j-1]);}}return dp[a.size()][b.size()];}int main(){string a("adknow");string b("now");cout<<LCS(a,b)<<endl;}
0 0
- 如何判断两个字符串是否相互包含?
- 如何比较两个字符串是否相互包含
- 判断两个字符串是否为包含关系
- 如何判断字符串中是否包含汉字
- 如何判断字符串是否包含重复字符
- 两个字符串是否包含
- JAVA如何判断两个字符串是否相等
- shell下判断两个字符串是否有包含关系
- 判断两个字符串是否包含相同的字符
- 判断两个div的位置是否相交,可以判断相互包含的特殊情况
- Mysql 字符串字段,如何判断是否包含某个字符串
- php如何判断一个字符串是否包含另一个字符串
- php如何判断一个字符串是否包含另一个字符串
- php如何判断一个字符串是否包含另一个字符串
- 两个字符串是否包含问题
- Mysql查找如何判断字段是否包含某个字符串
- 如何判断一个NSString 是否包含了字符串
- 如何判断某个字段中是否完整包含某一字符串
- Pearson(皮尔逊)相关系数及MATLAB实现
- Codeforces Round #129 (Div. 1) B. Little Elephant and Cards
- 黑马程序员-第2天 JAVA 进制和运算符
- Ubuntu手动安装Flash Player
- 第五届蓝桥杯预赛练习——买不到的数字
- 如何判断两个字符串是否相互包含?
- php学习笔记(视频前50讲)
- [C#]数字颠倒输出;判断某天是一年中的第几天
- 1-1-日期结构体
- javascript:类,成员变量,成员函数,类变量,类方法,继承,多态
- 杰瑞学Perl之PPM
- Spring MVC 原理 - DispatcherServlet调用完整过程(下)
- 黑马程序员___网络编程(TCP和UDP)
- R12.2——adop 数据库 Edition-Based Redefinition (EBR)