zoukankan      html  css  js  c++  java
  • L2-008. 最长对称子串

    L2-008. 最长对称子串

    时间限制
    100 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    陈越

    对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定"Is PAT&TAP symmetric?",最长对称子串为"s PAT&TAP s",于是你应该输出11。

    输入格式:

    输入在一行中给出长度不超过1000的非空字符串。

    输出格式:

    在一行中输出最长对称子串的长度。

    输入样例:
    Is PAT&TAP symmetric?
    
    输出样例:
    11
    


    分析:
    大佬们都有各种优秀的方法而我只会暴力。。。。。
    对字符串的每一个字符向两边做扩展,边做边保存最大对称字串的长度

    代码如下:
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        char a[10005];
        gets(a);
        int l=strlen(a);
        int x1,x2,t=0;
        for(int k=0;k<l;k++)
        {
            int i=k-1;
            int j=k+1;
            x1=1;
            while(i>=0&&j<l)
            {
                if(a[i]==a[j])
                {
                    i--;
                    j++;
                    x1=x1+2;
                }
                else
                {
                    break;
                }
            }
            t=max(t,x1);
            i=k;
            j=k+1;
            x2=0;
            while(i>=0&&j<l)
            {
                if(a[i]==a[j])
                {
                    i--;
                    j++;
                    x2=x2+2;
                }
                else
                {
                    break;
                }
            }
            t=max(t,x2);
        }
        printf("%d
    ",t);
        return 0;
    }

    技术在于分享

  • 相关阅读:
    Linux入门
    Linux和VMware
    vue中select的使用以及select设置默认选中
    Django ModelFrom组件
    Django登录(含随机生成图片验证码)注册实例
    Django组件---Django请求生命周期和中间件
    Python3之使用Crypto
    ORM大结局
    ORM多表查询下
    Pycharn破解补丁激活
  • 原文地址:https://www.cnblogs.com/yinbiao/p/8677389.html
Copyright © 2011-2022 走看看