关闭

【结论】【字符串】对于一个字符串用f[i][j]表示i到j位可构成回文串

111人阅读 评论(0) 收藏 举报
分类:

对于一个字符串用f[i][j]表示i到j位可构成回文串

    string a;cin>>a;
    int len=a.length();
    for(int i=0;i<len;i++)//从0位开始存
    {
        for(int j=0;j+i<len&&i>=j;j++)
        {
            if(a[i-j]==a[i+j]) ma[i-j][i+j]=ma[i+j][i-j]=true;
            else break;
        }
        for(int j=0;j+i<len&&i>=j;j++)
        {
            if(a[i-j]==a[i+j+1]) ma[i-j][i+j+1]=ma[i+j+1][i-j]=true;
            else break;
        }
    }
    char a[200]; scanf("%s",a+1);
    int len=strlen(a)-1;
    for(int i=1;i<=len;i++)//从1开始存
    {
        for(int j=0;i-j>=1&&i+j<=len;j++)
        {
            if(a[i+j]==a[i-j]) f[i-j][i+j]=f[i+j][i-j]=1;
            else break;
        }
        for(int j=0;i-j>=1&&i+j+1<=len;j++)
        {
            if(a[i-j]==a[i+j+1]) f[i-j][i+j+1]=f[i+j+1][i-j]=1;
            else break;
        }
    }
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:21245次
    • 积分:1517
    • 等级:
    • 排名:千里之外
    • 原创:137篇
    • 转载:5篇
    • 译文:0篇
    • 评论:1条