最长对称字符子串

原创 2016年08月28日 21:24:00

问题: 输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。
测试用例:
输入:iqiyiyiq
abccba
输出:4
3

int MaxLenSub(char *str)
{

    if (str==NULL|| *str=='\0' )
        return 0;

    int length=strlen(str);
    int new_len=1,len=1;    
    int cnt=0;
    int cnt1=0;
    int left=cnt-1,right=cnt+1;
    //奇数子串
    while(cnt<length-1)
    {
        len=1;
        left=cnt-1;right=cnt+1;
        while(left>=0 && right<=length-1 && *(str+left)==*(str+right))
        {
            len=right-left+1;
            left--;
            right++;
        }
        if(new_len<len)
            new_len=len;
        cnt++;
    }
    //偶数子串
    cnt=0;
    cnt1=1;
    while(cnt1<length-1)
    {
        if(*(str+cnt)==*(str+cnt1))
        {
            len=1;
            left=cnt-1;right=cnt1+1;
            while(left>=0 && right<=length-1 && *(str+left)==*(str+right))
            {
                len=right-left+1;
                left--;
                right++;
            }
        }
        if(new_len<len)
                new_len=len;
        cnt++;
        cnt1++;
    }

    cout<<new_len<<endl;
    return new_len/2+new_len%2;
}

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

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

7-64 最长对称子串

#include #include int main (){ char a[1002]; gets(a); int len; len=strlen(a); int i;int x;int y...
  • michaelliu6
  • michaelliu6
  • 2017年11月24日 12:25
  • 112

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

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

最长对称子串(KMP)

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

PATL2-008:最长对称子串(dp)

L2-008. 最长对称子串 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题...
  • junior19
  • junior19
  • 2017年03月12日 16:14
  • 155

最长对称子串   (25分)

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

pat L2-008 最长对称子串

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

最长对称子串

题目描述:求一个字符串最长的回文子
  • CodeAsWind
  • CodeAsWind
  • 2014年07月27日 15:26
  • 526

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

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

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

L2-008. 最长对称子串 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题...
  • qq_34594236
  • qq_34594236
  • 2016年05月28日 19:53
  • 1693
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:最长对称字符子串
举报原因:
原因补充:

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