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

相关推荐

06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
07-02 10:39
门头沟学院 Java
Steven267:说点真实的,都要秋招了,还没有实习,早干嘛去了,本来学历就差,现在知道急了,而且你这个简历完全可以写成一页,劣势太大了,建议转测试
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务