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

相关推荐

03-03 23:42
复旦大学 Java
_无论云泥意贯一:把复旦大学放前面,山东大学放后面,并且在两个大学后面标注985(用一些显眼的颜色标注)
点赞 评论 收藏
分享
03-08 18:11
门头沟学院 Java
Java抽象小篮子:海投就完事了,简历没什么问题,最大问题是学历
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务