LeetCode 競賽題 890 查詢和替換模式

2021-08-25 02:26:44 字數 874 閱讀 5896

你有乙個單詞列表words和乙個模式pattern,你想知道words中的哪些單詞與模式匹配。

如果存在字母的排列p,使得將模式中的每個字母x替換為p(x)之後,我們就得到了所需的單詞,那麼單詞與模式是匹配的。

(回想一下,字母的排列是從字母到字母的雙射:每個字母對映到另乙個字母,沒有兩個字母對映到同乙個字母。)

返回words中與給定模式匹配的單詞列表。

你可以按任何順序返回答案。

示例:

輸入:words = ["abc","deq","mee","aqq","dkd","ccc"], pattern = "abb"輸出:["mee","aqq"]解釋:"mee" 與模式匹配,因為存在排列 。

"ccc" 與模式不匹配,因為 不是排列。

因為 a 和 b 對映到同乙個字母。

本題根據題目中的提示即可:每個字母對映到另乙個字母,沒有兩個字母對映到同乙個字母。

利用map構造對映。

**如下:

class solution 

else if (comp.containsvalue(b)) break;//兩個字母對映到了同乙個字母

else comp.put(a,b);

}if (j==pattern.length()) ans.add(words[i]);

}return ans;

}}

競賽題筆記(1)

題目 整體思路 只有當甲乙同時到達目的地時才是使用時間最短的方法,因此先求出二者到達目的地所需要的時間的表示式,以時間近似相等為判定條件 通過調整甲在中途下車的地點 使用二分法 而得出答案 二分法 include include int main double s,s1,s2,v1,v2,t1,t2...

一道C 競賽題

題目的大致意思是 一些數字順時針排成乙個圈,最上面的是1,從1開始,隔乙個數,移除乙個數,順時針一直移下去,直到最後剩下兩個數,這兩個數就是幸運數字。例如1 2 3 4 5,開始如下圖 然後從1開始隔乙個去掉乙個數,如下圖 這個時候已經一輪了,但是剩餘數字還大於2,所以繼續去,這個時候4被去掉了,跳...

17藍橋杯競賽題「取數字」

求1個整數的第k位數字有很多種方法。以下的方法就是一種。public class main 取x的第k位數字 static int f int x,int k public static void main string args 對於題目中的測試資料,應該列印5。請仔細分析原始碼,並補充劃線部分所...