Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
17911 | 陈星宇 | 最长回文子串 | C++ | Accepted | 2 MS | 756 KB | 403 | 2021-10-10 08:29:16 |
#include<iostream> #include<string> using namespace std; int expand(string s,int left,int right){ while(left>=0&&right<s.size()&&s[left]==s[right]){ --left; ++right; } return right-left-1; } int main() { string s; cin>>s; int ans=1; for(int i=0;i<s.size();i++){ int c1=expand(s,i,i); int c2=expand(s,i,i+1); ans=max(ans,max(c1,c2)); } cout<<ans; return 0; }