第一题:
int main() {
string s;
cin >> s;
unordered_map<char, int> m;
unordered_map<char, bool> flag;
int sum = 0, cur = 0;
vector<int> res;
for (int i = 0; i < s.size(); i++)
m[s[i]]++;
for (int i = 0; i < s.size(); i++) {
if (flag.find(s[i]) == flag.end()) {
sum += m[s[i]];
flag[s[i]] = true;
}
cur++;
if (cur == sum) {
res.push_back(cur);
cur = 0;
sum = 0;
}
}
for (int i = 0; i < res.size(); i++) {
if (i != res.size() - 1)
cout << res[i] << ',';
else
cout << res[i] << endl;
}
system("pause");
return 0;
}