2301_80018574 2024-03-22 21:07 采纳率: 0%
浏览 7

最长对称子串有一个测试点过不去

最长对称子串

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

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

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

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

#include<stdio.h>
int main(){
    char c[1005];                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
    gets(c);
    int i,j,end,i1,j1,cnt,len=1;
    for(i=0;c[i];i++);
    end=i-1;
    for(i=0;c[i];i++){
        for(j=end;j>i;j--){
            if(c[i]==c[j]){
                cnt=0;
                i1=i;
                j1=j;
                while(c[i1++]==c[j1--]){
                    cnt++;
                }
                if(i1>j1&&cnt>len) len=cnt;
            }
        }
    }
    printf("%d",len);
    return 0;
}

  • 写回答

3条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-03-22 21:07
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    题目描述 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。 输入格式: 输入在一行中给出长度不超过1000的非空字符串。 输出格式: 在一行中输出最长对称子串的长度。 输入样例: Is PAT&TAP symmetric? 输出样例: 11 算法思路 对于一个字符串,设其子串i到j为回文串,如果该回文串中的字母c可以使整个回文串扩展得到更长的回文串,即i-1位置与j+1位置的字母可以扩展,那么我们就可以将该回文串的长度按1进行扩展,由于回文串的长度可能为奇数或偶数,所以我们需要考虑两种情况:从i位置单独扩展和以i与i+1位置为中心扩展。 具体来说,我们要从中心向两边来检测回文串,所以一共有2n-1个中心(n为字符串长度),但因为回文串中心可能是字母,也可能是两字母之间的空隙,所以每个中心要分两种情况来统计长度。 因此,我们可以从左到右,依次枚举每个回文串的中心,并尝试扩展,更新最长回文串长度即可。 AC代码
    评论

报告相同问题?

问题事件

  • 创建了问题 3月22日

悬赏问题

  • ¥15 ciflog-smart磁性定位子系统
  • ¥100 python 调用 cgps 命令获取 实时位置信息
  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示