贴一下我的做法 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; }

相关推荐

02-26 13:56
已编辑
重庆财经学院 Java
King987:你有实习经历,但是写的也太简单了,这肯定是不行的,你主要要包装实习经历这一块,看我的作品,你自己包装一下吧,或者发我,我给你出一期作品
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务