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 ...
随机推荐
- maven多模块项目构建
描述 一个大的企业级项目通常跨越了数十万行代码,牵涉了数十或数百软件人员的努力.如果开发者在同一个项目下开 发,那么项目的管理.构建将会变得很难控制.因此设计人员会将项目划分为多个模块,多个模块独 ...
- C#中的参数和调用方式(可选参数、具名参数、可空参数)
具名参数 和 可选参数 是 C# framework 4.0 出来的新特性. 一. 常规方法定义及调用 public void Demo1(string x, int y) { //do someth ...
- Dubbo 入门学习笔记
项目结构 模块介绍: DubboAPI ----API接口 DubboConsumer ----消费者 DubboProvider ----生产者 DubboAPI Service 提供的接口 ...
- 借助微软提供的url重写类库URLRewriter.dll(1.0)实现程序自动二级域名,域名需要泛解析
二级域名和系统中会员帐号自动关联,也就是系统中注册一个会员,会员自动就可以通过二级域名来访问,比如我的帐号是zhangsan,我在morecoder.com注册后,访问zhangsan.morecod ...
- 工控随笔_13_西门子_WinCC的VBS脚本_04_变量类型之二
上一个随笔说了一些关于vbs变量类型的内容,这一篇我们继续说说变量类型相关的内容. 一.NULL补充内容 '需要注意的是,NULL不能简单通过 = 来进行比较,而必须通过 'IsNull函数来实现 ' ...
- VSCode扩展包离线安装
下载离线包 下载地址:https://marketplace.visualstudio.com/vscode 安装离线包
- shell脚本命令远程连接ssh并执行命令
环境: redhat 6.5 根据网上提供方法,测试了很多写法都不成功,测试了很久才有了以下脚本. 命令远程连接ssh并执行命令,scp/ftp等远程连接操作同理: #!/usr/bin/expect ...
- FTP上传文件,报错java.net.SocketException: Software caused connection abort: recv failed
FTP上传功能,使用之前写的代码,一直上传都没有问题,今天突然报这个错误: java.net.SocketException: Software caused connection abort: re ...
- SN Writer 写号工具使用
SN Writer 写号工具的使用 蓝牙写号: 打开SN Writer 写号工具 1.点击System Config按钮 2.进入界面,选择需要写号的类型,及选择相应的写号文件, ...
- 转:Eclipse中web项目部署至Tomcat步骤
原址:http://blog.csdn.net/lucklq/article/details/7621807 Eclipse的web工程至Tomcat默认的部署目录是在工程空间下,本文旨在将部署目录改 ...