leetcode966
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的更多相关文章
- [Swift]LeetCode966.元音拼写检查器 | Vowel Spellchecker
Given a wordlist, we want to implement a spellchecker that converts a query word into a correct word ...
随机推荐
- java面试总躲不过的并发(一): 线程池ThreadPoolExecutor基础梳理
本文核心:线程池ThreadPoolExecutor基础梳理 一.实现多线程的方式 1.继承Thread类,重写其run方法 2.实现Runnable接口,实现run方法 3.实现Callable接口 ...
- 批量找注入 python3+sqlmap结合
注入一直都是用sqlmap 导致本来就不怎么精通的手工注入现在就忘的一干二净 想实战练习 却一时又找不到有注入的网站 于是便有了这篇文章 想找个批量获取域名链接的工具 但都是只是获取域名而 ...
- 个人简历html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- day05-数据类型与操作
- Docker系列(一)CentOS 6.5 离线安装、不升级内核
本特安装教程特点 1.由于是离线下载,需要提前下载好需要的依赖包 2.使用的版本为Centos6.5 3.不升级内核 4.提供异常解决方案. 安装过程 一.下载依赖包(使用能联网的节点) 依赖包可以自 ...
- Kuberneteser二进制安装与配置(二)
环境:Centos7 版本:Kubernetes v1.11.4 一.下载Kubernetes 1)下载 wget https://github.com/kubernetes/kubernet ...
- 18.12 SDRAM和NAND FLASH区别
处理器运行时要做大量的数据计算和交换,要求内存读写速度很快. NOR Flash读取快,写入慢,总线结构,能运行代码,价格贵. NAND Flash读取慢,写入快,非总线结构,不能运行代码,价格便宜. ...
- 18.7 修改IP地址
ifconfig #查看ip sudo ifconfig eth3 10.3.10.232 #修改ip
- 17.2 SourceInsight批量注释
将下面的代码保存为codecomm.em并添加到工程,在Options->Menu Assignments中就可以看到这个宏macro CodeComments,给这个宏添加热键. 执行一次Ct ...
- DevExpress中GridControl的重新绑定数据后如何刷新 (转)
如果对girdcontrol的datasource新添加数据,重新刷新, gridControl1.DataSource = list; gridView1.RefreshData();