最小子串覆蓋 LintCode

2021-08-18 03:47:23 字數 767 閱讀 4878

給定乙個字串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 說明在答案的子串中的字母在目標字串中是否需要具有相...