class Solution(object):
def spellchecker(self, wordlist: 'List[str]', queries: 'List[str]') -> 'List[str]':
wordlen = len(wordlist)
wordict = {}#存原始形式
wordict_lowercase = {}#存小写形式
wordict_replace = {}#存替换形式
for i in range(wordlen):
word = wordlist[i]
if word not in wordict:
wordict.update({word:i}) lowcase = wordlist[i].lower()
#if lowcase not in wordict_lowercase and lowcase != word:
if lowcase not in wordict_lowercase:
wordict_lowercase.update({lowcase:i}) altercase = ''
for j in range(len(lowcase)):
c = lowcase[j]
if c=='e' or c =='i' or c =='o' or c=='u':
c ='a'
altercase += c
if altercase not in wordict_replace:
wordict_replace.update({altercase:i})
'''
print(wordict)
print(wordict_lowercase)
print(wordict_replace)
'''
result = list()
for i in range(len(queries)):
q = queries[i]
lowq = q.lower() alterq = ''
for j in range(len(lowq)):
c = lowq[j]
if c == 'e' or c == 'i' or c == 'o' or c =='u':
c = 'a'
alterq += c
if q in wordict:
result.append(wordlist[wordict[q]])
elif lowq in wordict_lowercase:
result.append(wordlist[wordict_lowercase[lowq]])
elif alterq in wordict_replace:
result.append(wordlist[wordict_replace[alterq]])
else:
result.append('')
return result

leetcode966的更多相关文章

  1. [Swift]LeetCode966.元音拼写检查器 | Vowel Spellchecker

    Given a wordlist, we want to implement a spellchecker that converts a query word into a correct word ...

随机推荐

  1. 编写一个简单的基于jmespath 的prometheus exporter

    目的很简单,因为系统好多监控指标是通过json 暴露的,并不是标准的prometheus metrics 格式,处理方法 实际上很简单,我们可以基于jsonpath 解析json数据,转换为prome ...

  2. zookeeper启动报错处理记录

    zookeeper启动时正常,查看状态时出错 处理,通过 ./zkServer.sh status 报错Error contacting service. It is probably not run ...

  3. 如何创建 SVN 服务器,并搭建自己的 SVN 仓库 如何将代码工程添加到VisualSVN Server里面管理

    如何创建 SVN 服务器,并搭建自己的 SVN 仓库,附链接: https://jingyan.baidu.com/article/6b97984dca0d9c1ca3b0bf40.html 如何将代 ...

  4. WebService之客户端

    创建项目 File→New→Other→Web Services→Web Service Client中输入从服务端得到的wsdl链接: http://localhost:8080/WS_WebSer ...

  5. FM与PM信号的表现形式

    角度调制可以写成如下形式: $u(t)=A_c cos(2\pi f_c t + \phi (t) )$ $A_c cos(2\pi f_c t)$是载波,调制信号控制$\phi (t)$. 对于PM ...

  6. Win10系统下Anaconda下安装多种Python函数库

    建议直接安装Anaconda,这是一个包含Numpy,Pandas,Sklearn等函数库的计算机科学软件包,下面的软件可以在此环境下进行安装下载. 一.计算机视觉 1. OpenCV图像处理 在ht ...

  7. maven编译下载源码

    下载源码 mvn dependency:sources 跳过TEST mvn  -DskipTests

  8. Dijkstra求最短路径&例题

    讲了半天好像也许maybe听懂了一点,先写下来233 先整理整理怎么存(开始绕) 最简单的是邻接矩阵存,但是开到10000*10000就MLE了,所以我们用链式前向星存(据说是叫这个名字吧) 这是个什 ...

  9. word 添加文本框

    转https://blog.csdn.net/sroco/article/details/17044973 如何在word2013(2007.2010)中添加带滚动条的文本框 2013年11月30日 ...

  10. ibatis.net 循环

    if (oReqV[0]["tag"] != null && !string.IsNullOrEmpty(oReqV[0]["tag"].ToS ...