题解 | #密码截取#

密码截取

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

#include <string.h>

int min(int x,int y)
{
    if(x<y)
        return x;
    else
        return y;
        
}
int main()
{
    int i,j,a=1,max=0;
    char str[2502]={0};
    scanf("%s",str);
    for(i=1;i<strlen(str);i++)
    { a=1;
        for(j=1;j<min(i+1,strlen(str)-i);j++)
        {
            if(str[i+j]==str[i-j])
                a+=2;
            if(str[i+j]!=str[i-j])
                break;
        }
        if(max<a)
       max=a;
    }
   
       for(i=1;i<strlen(str);i++)
    {
            a=0;
        for(j=1;j<min(i+2,strlen(str)-i);j++)
        {
            if(str[i-j+1]==str[i+j])
                a+=2;
            if(str[i-j+1]!=str[i+j])
                break;
        }
        if(max<a)
            max=a;
    }
    printf("%d",max);
}
全部评论

相关推荐

4 1 评论
分享
牛客网
牛客企业服务