Leetcode—340. 至多包含 K 个不同字符的最长子串【中等】Plus(力扣159变体罢了改个参数而已)
2025每日刷题(209)
Leetcode—340. 至多包含 K 个不同字符的最长子串
实现代码
class Solution {
public:
int lengthOfLongestSubstringKDistinct(string s, int k) {
// 字符串 s 和整数 k
// 至多包含 k 个不同
vector<int> cnt(128);
int len = s.length();
int l = 0, r = 0;
int diff = 0;
int ans = 0;
for(; r < len; r++) {
if(++cnt[s[r]] == 1) {
diff++;
}
while(diff == k + 1) {
if(--cnt[s[l++]] == 0) {
diff--;
}
}
ans = max(ans, r - l + 1);
}
return ans;
}
};
运行结果
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!