Find and Replace Pattern LeetCode solution in Python
1# Runtime: 47 ms (Top 36.0%) | Memory: 16.40 MB (Top 44.2%)234class Solution:5def findAndReplacePattern(self, words: List[str], pattern: str) -> List[str]:6d = {}7for i, v in enumerate(pattern):8if v in d:9d[v].append(i)10else:11d |= {v: [i]}12# DICTIONARY CONTAINING LETTERS AND THEIR INDICES13ans = []14for i in words:15e = {}16for j, v in enumerate(i):17if v in e:18e[v].append(j)19else:20e |= {v: [j]}21# DICTIONARY CONTAINING LETTERS OF INDICES OF CURRENT WORD22for u, v in zip(d.values(), e.values()):23# COMPARING EACH VALUE24if u != v:25break26# IF SUCCESSFUL APPEND TO ANS27else:28ans.append(i)29return ans