#include

#include

#include

#include

using namespace std;

//给定一个字符串,求出其最长的重复子串

//方法一

string lsubstr_1(const string & str)

{

vector vs;

for (int i = 0; i < str.size(); i++)

vs.push_back(str.substr(i));

sort(vs.begin(), vs.end());

int max = 0;

int flag = 0;

for (int i = 0; i

{

int j = 0;

while (vs[i][j] == vs[i + 1][j] && j

j++;

if (j>max)

{

max = j;

flag = i;

}

}

return vs[flag].substr(0, max);

}

//方法二

string lsubstr_2(const string & str)

{

string maxstr;

for (int i = 0; i < str.size();i++)

for (int j = (str.size() - i); j >=1 ; j--)

{

string subs = str.substr(i, j);

int front = str.find(subs);

int back = str.rfind(subs);

if (front != back && subs.size() > maxstr.size())

maxstr = subs;

}

return maxstr;

}

//方法三

string lsubstr_3(const string & str)

{

string maxstr;

for (int i = 0; i < str.size(); i++)

for (int j = 0; j < i; j++)

{

string temp;

int k = j;

int m = i;

while (str[m] == str[k] && i

{

m++; k++;

}

temp = str.substr(j, k - j);

if (temp.size()>maxstr.size())

maxstr = temp;

}

return maxstr;

}

void main(void)

{

string test;

//cin >> test;

getline(cin, test);

cout << lsubstr_1(test) << endl;

cout << lsubstr_2(test) << endl;

cout << lsubstr_3(test) << endl;

}

java 求最长重复子串_给定一个字符串,求出其最长的重复子串。相关推荐

  1. Java中找出s字符串的回文_给定一个字符串 s,找到 s 中最长的回文子串。

    题目描述:给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 思路: 判断s[i..j]是否是回文字符串,依赖于s[i+1...j-1],这种一个问题的结果依赖于 ...

  2. 最长回文子串_【每日编程142期】最长回文子串II

    每日编程中遇到任何疑问.意见.建议请公众号留言或直接撩Q474356284(备注每日编程) 今日问题: 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为1000. 示例 1 ...

  3. (java)给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。

    给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度. public class LengthOfLongestSubstring {public int lengthOfLonges ...

  4. 【每日一练及解题思路V1】给定一个字符串,找出其中不含重复字符的最长子串的长度

    一.题目:给定一个字符串,找出其中不含重复字符的最长子串的长度: 二.举例: 比如"abcdefgh",不含重复字符的最长子串为eacdb,长度为8: 比如"abceac ...

  5. 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度

    题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 &q ...

  6. python练习题:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度

    题目: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 题目解析: 有一个字符串,长度不定, 要找出不重复字符串的长度,我们可以这么假设,先找到第一个下标,然后从后面拿到元素的下标对 ...

  7. 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "ab ...

  8. 给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置. 要求:从键盘输入两个字符串,第一个是给定的字符串,第二个是子串。

    给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置. 要求:从键盘输入两个字符串,第一个是给定的字符串,第二个是子串. 输入 abcd23abc34bcd bc 输出 1 ...

  9. 给定一个字符串,返回最长的元音字母(aeiou)子串的长度

    题目描述:     给定一个字符串,返回最长的元音字母(aeiou)子串的长度.     测试用例1:     输入为:asdbuiodea       输出为:3   因为uio三个元音字母最长 d ...

最新文章

  1. 【caffe解读】 caffe从数学公式到代码实现1-导论
  2. hive防止数据误删
  3. MCtalk 创业声音丨辉禹科技合伙人孔杰:投资和创业都是思维的放大器
  4. 微服务之迷思--转几位大牛的文章
  5. html文字向上移动10px,HTML文字移动特效代码
  6. 23种设计模式之责任链模式
  7. java mvc下载文件_Springmvc实现文件下载2种实现方法
  8. 麦克纳姆轮速度分解再分析
  9. iOS开发学习之NSFetchedResultsController
  10. 《深入浅出struts》读书笔记(3)
  11. java 高级工程师要求
  12. 6 检验并打印魔方矩阵c语言,检验并打印魔方矩阵
  13. 内存超频时序怎么调_超频讲解:内存时序设置说明二
  14. python 16进制转中文_求助~ 16进制数据转不了汉字
  15. Vue.js(二) 模板语法
  16. 导出 服务器 excel文件,服务器数据库导出excel文件格式
  17. 语音聊天源码开发之常用动画效果的实现
  18. 组合预测 | MATLAB实现EMD-KPCA-LSTM、EMD-LSTM、LSTM多变量时间序列预测对比
  19. 胜不骄 败不馁 心胸似大海宽广
  20. 去哪些网站能够查阅医学最新文献?

热门文章

  1. 10天学安卓-第二天
  2. 【Q】【poj 1144】【poj 1523】
  3. 转:SQL SERVER中一些常见性能问题的总结
  4. [导入]将Byte数组转化为String
  5. linux-04-磁盘命令+进程命令
  6. 2.1.3码元、波特、速率、带宽
  7. 快速幂模板(Python)
  8. 对象在内存中的存储布局
  9. java右移位_java中的左移 右移
  10. c语言第一周作业答案,C语言程序设计下mooc答案.pdf