L2-6
解题思路:
参考代码
L2-7
解题思路:
参考代码
L2-8 最长对称子串
解题思路:把字符串中间都插入一个+,这样就不用分类讨论了,遍历字符串,对于每一个位置向两边延伸,并更新最大值。
参考代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 1e4 + 5;
string s, str;
int ans;
int main() {
getline(cin, str);
s = str[0];
for (int i = 1; i < str.size(); i++) {
s.push_back('+');
s.push_back(str[i]);
}
int len = s.size();
for (int i = 0; i < len; i++) {
int l = i, r = i;
while (l > 0 && r < len - 1) {
if (s[l - 1] != s[r + 1]) break;
l--, r++;
}
if (s[r] == '+') r--;
ans = max(ans, r - i + 1);
}
cout << ans;
return 0;
}
L2-9
解题思路:
参考代码
L2-10
解题思路:并查集
参考代码