Cho xâu kí tự S chỉ chứa các kí tự chữ cái thường. Hãy tìm độ dài lớn nhất của xâu con của S mà kí tự đầu tiên và kí tự cuối cùng của xâu con đó là giống nhau. Ví dụ: Input Output abcda 5
2 câu trả lời
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
cin>>s;
int a1[200]={0} ,m=0;
for (int i=0; i<s.size(); i++)
{
if (a1[ s[i] ]==0) a1[ s[i] ]=i+1;
else {
m=max( m , i-a1[ s[i] ]+2 );
}
}
cout<<m;
}
#include <iostream>
#include <map>
using namespace std;
int res = 1;
string s;
map<char, int> m;
int main() {
cin >> s;
s = " " + s;
for (int i = 1; i < s.size(); ++i) {
if (m[s[i]])
res = max(res, i - m[s[i]] + 1);
else
m[s[i]] = i;
}
cout << res;
}
Câu hỏi trong lớp
Xem thêm