机试真题 字符串重复个数计算
统计每个字符子串得重复字符个数,直接利用数学问题输出坐标就可以;
#include<iostream>
#include<string>
#include<vector>
using namespace std;
string s;
int n;
struct point {
int index = -1;
int length = 0;
};
vector<point>vec;
int main() {
cin >> n;
getchar();
getline(cin, s);
int index = 0;
while (index < s.size()) {
int cnt = 1;
point p;
p.index = index++;
for (; index < s.size(); index++) {
if (s[p.index] == s[index]) {
cnt++;
}
else {
break;
}
}
p.length = cnt;
if (p.length >= n)
vec.push_back(p);
}
for (int i = 0; i < vec.size(); i++) {
for (int j = vec[i].index; j <= vec[i].length - n + vec[i].index; j++) {
cout << j << endl;
}
}
}

浙公网安备 33010602011771号