输入:words = ["abc","deq","mee","aqq","dkd","ccc"], pattern = "abb"
输出:["mee","aqq"]
首先想到的是表征,简单。
class Solution:
def findAndReplacePattern(self, words: List[str], pattern: str) -> List[str]:
# 获取pattern的表征
def represent(word):
rep = dict()
for i in range(len(word)):
if word[i] in rep:
rep[word[i]] += ',' + str(i)
else:
rep[word[i]] = str(i)
return '|'.join(rep.values())
pattern_rep = represent(pattern)
print(pattern_rep)
res = []
for word in words:
if represent(word) == pattern_rep:
res.append(word)
return res