2022-04-07 22:10
东南大学 通信研发工程师 牛客753012269号:贴一下我的做法
int main() {
int n, k; string str;
cin >> n >> k;
cin >> str;
ull res = 0;
int cnt[128] = {0};
int kind = 0;
for (char c : str) {
cnt[c]++;
if (cnt[c] == 1){
kind++;
}
}
for (int i = 0, j = 0; i < n; i++) {
char c = str[i];
cnt[c]--;
if (cnt[c] == 0) {
kind--;
}
while(j <= i &;&; kind < k) {
cnt[str[j]]++;
if (cnt[str[j]] == 1) {
kind++;
}
j++;
}
res += i - j + 1;
}
cout << res << endl;
return 0;
}
投递阿里巴巴等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了: