題目:你有乙個單詞列表 words 和乙個模式 pattern,你想知道 words 中的哪些單詞與模式匹配。如果存在字母的排列 p ,使得將模式中的每個字母 x 替換為 p(x) 之後,我們就得到了所需的單詞,那麼單詞與模式是匹配的。(回想一下,字母的排列是從字母到字母的雙射:每個字母對映到另乙個字母,沒有兩個字母對映到同乙個字母。)返回 words 中與給定模式匹配的單詞列表。
示例:
輸入:words = ["abc","deq","mee","aqq","dkd","ccc"], pattern = "abb"
輸出:["mee","aqq"]
解釋:"mee" 與模式匹配,因為存在排列 。
"ccc" 與模式不匹配,因為 不是排列。
因為 a 和 b 對映到同乙個字母。
題解1:
class solution}return res;
}private:
bool match(const string& word, const string& pattern)
//建立雙對映
unordered_mapword2pattern;
unordered_mappattern2word;
int n = word.size();
for (int i = 0; i < n; i++) else }}
return true;
}};
題解2:
class solution {public:
vectorfindandreplacepattern(vector& words, string pattern) {
vectorres;
for(int i=0;i
890 查詢和替換模式
你有乙個單詞列表words和乙個模式pattern,你想知道words中的哪些單詞與模式匹配。如果存在字母的排列p,使得將模式中的每個字母x替換為p x 之後,我們就得到了所需的單詞,那麼單詞與模式是匹配的。回想一下,字母的排列是從字母到字母的雙射 每個字母對映到另乙個字母,沒有兩個字母對映到同乙個...
890 查詢和替換模式
題目描述 你有乙個單詞列表 words 和乙個模式 pattern,你想知道 words 中的哪些單詞與模式匹配。如果存在字母的排列 p 使得將模式中的每個字母 x 替換為 p x 之後,我們就得到了所需的單詞,那麼單詞與模式是匹配的。回想一下,字母的排列是從字母到字母的雙射 每個字母對映到另乙個字...
LeetCode ID 890 查詢和替換模式
你有乙個單詞列表 words 和乙個模式 pattern,你想知道 words 中的哪些單詞與模式匹配。如果存在字母的排列 p 使得將模式中的每個字母 x 替換為 p x 之後,我們就得到了所需的單詞,那麼單詞與模式是匹配的。回想一下,字母的排列是從字母到字母的雙射 每個字母對映到另乙個字母,沒有兩...