給定乙個字串source和乙個目標字串target,在字串source中找到包括所有目標字串字母的子串。
注意事項
如果在source中沒有這樣的子串,返回"",如果有多個這樣的子串,返回起始位置最小的子串。
說明
在答案的子串中的字母在目標字串中是否需要具有相同的順序?
——不需要。
樣例 給出source = 「adobecodebanc」,target = 「abc」 滿足要求的解 「banc」
挑戰 要求時間複雜度為o(n)
#ifndef c32_h
#define c32_h
#include
#include
using
namespace
std;
class solution
//尋找最小長度
if (i - start < minlen)
//從start後一位開始繼續尋找滿足要求的字串
//由於在start後一位重新開始,先前的source[start]的出現次數減一,字串長度減一
s[source[start++]]--;
len--;}}
if (beg == -1)
return
""; else
return source.substr(beg, end - beg + 1);
}};#endif
lintcode32 最小子串覆蓋(詳細)
和乙個目標字串target 在字串source 中找到包括所有目標字串字母的子串。如果在source 中沒有這樣的子串,返回 如果有多個這樣的子串,返回起始位置最小的子串。不需要。target abc 滿足要求的解 banc 演算法流程如下 1.先將target中所有的字元出現的次數儲存到td陣列中...
最小子串覆蓋
給定乙個字串source和乙個目標字串target,在字串source 中找到包括所有目標字串字母的子串。注意事項 如果在source 中沒有這樣的子串,返回 如果有多個這樣的子串,返回起始位置最小的子串。您在真實的面試中是否遇到過這個題?yes 說明在答案的子串中的字母在目標字串中是否需要具有相同...
LintCode M 最小子串覆蓋
給定乙個字串source 和乙個目標字串target 在字串source 中找到包括所有目標字串字母的子串。注意事項 如果在source 中沒有這樣的子串,返回 如果有多個這樣的子串,返回起始位置最小的子串。您在真實的面試中是否遇到過這個題?yes 說明在答案的子串中的字母在目標字串中是否需要具有相...