题解 | #密码截取##中心扩展法#

密码截取

http://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1

#include<stdio.h>
int main()
{
    char str[2500];
    gets(str);
    int len = strlen(str);
    int max=1;
    int count = 0,k=0;
    for(int i=0;i<len;i++)  //奇数扩展
    {
        for(k=1;(k+i<len)&&(i-k)>=0;k++)
            if(str[i+k]==str[i-k])
            {
                count+=2;
                if(count>max)   //获得最大奇数回文长度
                    max=count+1;
            }else{
                count=0;
                break;
            }
    }
    for(int i=0;i<len-1;i++)   //偶数扩展
    {
        if(str[i]==str[i+1])
        {
            count=0;
            for(k=0;(k+i+1<len)&&(i-k)>=0;k++)
                if(str[i+k+1]==str[i-k])
                {
                    count+=2;
                    if(count>max)  //获得最大偶数回文长度
                        max=count;
                }else{
                    count=0;
                    break;
                }
        }
        
    }
    printf("%d",max);
    return 0;
    
}
全部评论
牛逼啊,大佬!
点赞 回复 分享
发布于 2022-04-23 23:49
如果输入ABABAB,输出13,错误
点赞 回复 分享
发布于 2022-04-23 14:17

相关推荐

05-16 11:16
已编辑
东华理工大学 Java
牛客737698141号:盲猜几十人小公司,庙小妖风大,咋不叫她去4️⃣呢😁
点赞 评论 收藏
分享
鼠鼠第一次实习,啥也不懂一直是自己一个人吃的饭,不会做工作老是被嫌弃,大人的世界是这样的吗?
我是星星我会发亮:好的mt有两种,一种愿意教你的,一种几乎什么活都不给你派让你很闲允许你做自己事情的
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务