求一个字符串中出现的相同且长度最长的字符串,及其首字符的位置
来源:互联网 发布:虚拟机和系统网络连接 编辑:程序博客网 时间:2024/05/01 22:41
思路:对源字符串所有后缀的所有子串,从每一个后缀的最长子串开始,分别从前向和后向开始在源字符串中查找匹配的子串,若两次查找位置不一致则说明存在重复的长度最长的字串,并返回前向查找时的位置。
e.g.
string = “abcedfghiabckl‘,当使用子串”abc“在源字符串中分别前向和后向匹配时,找到的位置分别为pos1=0, pos2 = 9.
//求一个字符串中出现的相同且长度最长的字符串pair<string, int> func2(string str){string strTemp;int i, j;int iLen = str.length();for (i = 0; i < iLen; i++){for (j = iLen; j > 1; j--) //从每个后缀的最长子串开始{if (i + j <= iLen) //确保获取子串不会越界{size_t pos1, pos2;strTemp = str.substr(i, j);pos1 = str.find(strTemp);pos2 = str.rfind(strTemp);if (pos1 != pos2) //位置不一致则说明存在重复子串{return make_pair(strTemp, pos1 + 1);}}}}return make_pair("", -1);}
- 求一个字符串中出现的相同且长度最长的字符串,及其首字符的位置
- 005求一个字符串中出现相同且长度最长的字符串,输出它及其首字符位置
- 输入一行字符串,找出其中出现的相同且长度最长的字符串,输出它及其首字符的位置
- 输入一行字符串,找出其中出现的相同且长度最长的字符串,输出他及其首字符串位置
- 求字符串中相同且长度最长的字符串及其首字母的位置
- 输入一行子串,找出其中出现的相同且长度最长的字符串,输出它及其首字符的位置
- 求一个字符串中出现相同且长度最长的字符串
- (1452)找出字符串中出现的相同的且长度最长的字符串,输出它及其首字母的位置
- 字符串中出现的相同且长度最长的字符串
- 求一段字符串中出现的相同且长度最长的字符串
- 输入一行字符串,找出其中重复出现且最长的字符串,输出它及其首字符的位置
- 输入一行字符串,找出其中重复出现且最长的字符串,输出它及其首字符的位置
- 字符串中出现相同且长度最长的子序列
- 字符串中相同且长度最长的字符串
- 字符串中相同且长度最长的字符串
- 字符串中相同且长度最长的字符串
- 寻找相同且长度最长的字符串
- 字符串中相同的且长度最长的子串
- 使用ffserver实现转发实时流媒体(摄像头捕获)
- WIN7(64位)系统发现数据源ODBC里面没有配置access数据源连接&System, System32, Syswow64 概述
- sql操作
- 指针作参数,指针变量的引用问题
- log4j 和common-logging
- 求一个字符串中出现的相同且长度最长的字符串,及其首字符的位置
- 函数的缺省形参和构造函数的缺省形参
- Oracle EBSr12单节点在64位Oracle Linux5上的安装
- SQL第四章的导图总结
- typedef 理解
- 室内定位技术(一)——引言
- 举例说明如何在android中利用Service来实现后台发送邮件功能
- bitset应用——用string数组对bitset数组赋值
- 通过查看内存学习引用