题解 | #牛群名字覆盖#
牛群名字覆盖
https://www.nowcoder.com/practice/e6cef4702e7841f59cf47daf9bafb241
#include <climits> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param s string字符串 * @param t string字符串 * @return string字符串 */ bool judge(map<char,int> t, map<char,int> s)\ { for(auto it=t.begin(); it!=t.end(); ++it) { if(it->second>s[it->first]) return false; } return true; } string minWindow(string s, string t) { // write code here map<char,int> t_s, t_t; for(auto ch:t) ++t_t[ch]; int min_len = INT_MAX; int left=0, right=0; int len = s.size(); int start = 0; while(right<len) { if(t_t[s[right]]>0) { ++t_s[s[right]]; } ++right; while(judge(t_t, t_s)) { if(right-left+1<min_len) { min_len = right-left+1; start = left; } if(t_t[s[left]]) --t_s[s[left]]; ++left; } } return min_len==INT_MAX ? "" : s.substr(start,min_len); } };
虚数五行区解题中心 文章被收录于专栏
非淡泊无以明志,非宁静无以致远