求字符串中最长对称字符串的长度

原创 2016年08月29日 21:17:01

求字符串中最长对称字符串的长度,
例如google中最长对称字符串的个数是4
iqiyiyiq中最长对称字符串的个数是6;
这种题目呢,不知道如何用语言表达清楚自己的思路,也许是自己理解的不够清楚吧,但是这种题目利用具体事例就可以将代码写出来;
代码如下:

#include<iostream>
#include<string>
using namespace std;
int isSymmetry(string str,int start)
{
    int end=str.length()-1;
    int result=start;
    bool flag=false;
    while(start<end)
    {


        if(str[start]==str[end])
        {
            if(!flag) result=end;
            flag=true;
            ++start;
            --end;
        }
        else
        {
            if(flag) break;
            else--end;
        }
    }
    if(start>=end) return result;
    else return-1;
}
int theLenofSymStr(string str)
{
    int len=str.length();
    int maxLen=1;
    for(int i=0;i<len;++i)
    {
        int index=isSymmetry(str,i);
        if(index!=-1)
        {
            int len=index-i+1;
            if(maxLen<len)
                maxLen=len;
        }
    }
    return maxLen;

}
int main()
{
    string str;
    while(cin>>str)
    {
        cout<<theLenofSymStr(str)<<endl;
    }

}

感觉自己的代码有很多的冗余,冗余冗余^
感觉逻辑上还有很多不足之处感觉自己还需要努力
虽然结果是正确的,但是还是要缅怀下我的爱奇艺笔试,为啥不在敏捷点敏捷点敏捷点
陈小白还要再努力才行啊

Java - PAT - L2-008. 最长对称子串 Manacher算法

L2-008. 最长对称子串 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题...
  • qq_34594236
  • qq_34594236
  • 2016年05月28日 19:53
  • 1705

最长对称子串   (25分)

5-12 最长对称子串   (25分) 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输...
  • wzj971015
  • wzj971015
  • 2017年03月18日 21:23
  • 867

找出字符串中对称的子字符串的最大长度

闲来无事翻了翻之前的面试书,有一道题勾起了我的兴趣,题目如下: 输入一个字符串,输出该字符串中对称的子字符串的最大长度。 比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”...
  • IT80hcbz
  • IT80hcbz
  • 2015年08月07日 23:09
  • 1038

最长对称子串(KMP)

对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定"Is PAT&TAP symmetric?",最长对称子串为"s PAT&TAP s",于是你应该输出11。 输入格式: 输入...
  • yangkunpengD
  • yangkunpengD
  • 2016年05月16日 20:32
  • 1424

字符串中最大对称子串的长度(C++软件工程师面试题)

字符串中最大对称子串的长度
  • zonghongyan314
  • zonghongyan314
  • 2014年12月07日 16:06
  • 825

最长对称子串(动态规划解法)

5-12 最长对称子串   (25分) 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,...
  • SJshenjian
  • SJshenjian
  • 2017年03月12日 12:47
  • 596

python 求解给定字符串中的最长DNA序列长度

题目: 输入一个字符串,合法的DNA序列只包含ATCG这四种碱基对,求给定字符串中的最长DNA序列 具体实现如下: one_str=raw_input() one_str_list=list(o...
  • Together_CZ
  • Together_CZ
  • 2017年07月25日 21:34
  • 609

5-12 最长对称子串 (25分) 思维

题目链接 思路:这个题如果就去枚举每个子串判断其是否是对称的 复杂度太高看了网上大牛的题解,确实很巧妙的思维想法 对于一个字符串我们从中间向两端去扩展并判断是否对称 分为两种情况: 1...
  • HowardEmily
  • HowardEmily
  • 2017年03月12日 12:32
  • 1055

pat L2-008 最长对称子串

L2-008. 最长对称子串 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standa...
  • yjf3151731373
  • yjf3151731373
  • 2016年05月16日 12:15
  • 1176

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

题目来源:这是编程珠玑上的一道题目概念字符串的前缀和后缀例如字符串 s =“abcdeabc” 则s的前缀: “a”,“ab”,“abc”,“abcd”,“abcde”,“abcdea”,“abc...
  • renwotao2009
  • renwotao2009
  • 2016年11月05日 11:55
  • 2878
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:求字符串中最长对称字符串的长度
举报原因:
原因补充:

(最多只允许输入30个字)