擅长:python、mysql、java
<p>您可以使用索引dict来跟踪每个字符的两个索引,然后使用set intersection来查找匹配的字符。关键是利用dict的<code>O(1)</code>平均查找时间和set交集的线性平均查找时间:</p>
<pre><code>aa = [[[] for i in range(10)] for i in range(10)]
index = {}
for i, l in enumerate(a):
for j, s in enumerate(l):
for c in s:
index.setdefault(c, []).append((i, j))
for c in diction.keys() & index.keys():
for i, j in index[c]:
aa[i][j].append([c])
</code></pre>