llllmz

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

76. 最小覆盖子串

跟着别人的代码履了一遍,明天自己再重写遍。

class Solution {
public:
map<char, int> tstr, sstr;
bool isContained(){
for(auto tchar : tstr){
if(tchar.second > sstr[tchar.first]) return false;
}
return true;
}
string minWindow(string s, string t) {
int n1 = s.size(), n2 = t.size();
if(n1 < n2) return string("");
int minLength = INT_MAX;
int ansL = -1;
for(char tchar : t){
++tstr[tchar];
}
int left = 0, right = 0;
for(; right < n1; ++right){
++sstr[s[right]];
if(tstr.find(s[right]) != tstr.end()){
while(isContained() && left <= right){
if(minLength > right - left + 1){
ansL = left;
minLength = right - left + 1;
}
--sstr[s[left++]];
}
}
}
if(ansL == -1) return string("");
return s.substr(ansL, minLength);
}
};

posted on   神奇的萝卜丝  阅读(6)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示