题解 | #密码截取#

密码截取

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

中心扩展法求解

#include <bits/stdc++.h>
using namespace std;
int maxL(string s,int l,int r){//中心扩散法
    int n=s.length();
    while(l>=0 && r<n){
        if(s[l]==s[r]){
            l--;
            r++;
        }else break;
    }
    return r-l-1;//此时扩展后s[l]与s[r]已经不相等,故长度为r-l减去1
}
int main(){
    string s;
    cin>>s;
    int i=0,n=s.length(),ans=0;
    for(i=1;i<n;i++){
        ans=max(ans,maxL(s,i,i));//处理n为奇数对称的情况
        ans=max(ans,maxL(s,i,i-1));//处理n为偶数对称的情况
    }
    cout<<ans;
    return 0;
}
全部评论

相关推荐

叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 17:30
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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