题解 | #密码截取#

密码截取

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

#include <stdio.h>
#include <string.h>
#include <ctype.h>
/*
 *整体来说分两种情况:奇数对称和偶数对称,
 *其中偶数对称又需要考虑当前元素左边对称或者右边对称两种子情况
 */
int main() {
    int len=0,ret=0,tmp=0;
    char input[2501]={0};
    while (scanf("%s", input) != EOF) { 
        len=strlen(input);
        if(len==1) ret=1;
        else
        {
            for(int i=0;i<len;i++)
            {
                tmp=1;
                int j,k;
                for(j=i-1,k=i+1;j>=0&&k<=len;j--,k++)
                {
                    if(input[j]==input[k])
                    {
                        tmp+=2;
                    }
                    else {
                        break;
                    }
                }
                ret=tmp>ret?tmp:ret;
            }
            for(int i=0;i<len;i++)
            {
                tmp=1;
                if(i-1>=0&&input[i-1]==input[i])
                {
                    tmp=2;
                    int j,k;
                    for(j=i-2,k=i+1;j>=0&&k<=len;j--,k++)
                    {
                        if(input[j]==input[k])
                        {
                            tmp+=2;
                        }
                        else {
                            break;
                        }
                    }
                    ret=tmp>ret?tmp:ret;
                }
                else if(i+1<=len&&input[i+1]==input[i])
                {
                    tmp=2;
                    int j,k;
                    for(j=i-1,k=i+2;j>=0&&k<=len;j--,k++)
                    {
                        if(input[j]==input[k])
                        {
                            tmp+=2;
                        }
                        else {
                            break;
                        }
                    }
                    ret=tmp>ret?tmp:ret;
                }
            }
        }

    }
    printf("%d\n",ret);
    return 0;
}

全部评论

相关推荐

03-19 09:58
河海大学 Java
最喜欢春天的奇亚籽很...:同学,是小红书不是小哄书,一眼就能看到的错误
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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