华为机试:密码截取
直接暴力了Manacher算法还是要静下心来好好看一下
#include <iostream>
#include <string>
using namespace std;
int main() {
// int a, b;
// while (cin >> a >> b) { // 注意 while 处理多个 case
// cout << a + b << endl;
// }
string str;
cin >> str;
int i, j, ans = 0;
for (i = 0; i < str.length() - 1; i++) {
for (j = i + 1; j < str.length(); j++)
{
int l = i, r = j;
bool flag = true;
while(l < r) {
if (str[l] == str[r]) {
l++;
r--;
}
else {
flag = false;
break;
}
}
if (flag) ans = ans > (j - i + 1) ? ans : (j - i + 1);
}
}
cout << ans << endl;
}
查看7道真题和解析
vivo公司福利 367人发布