leetcode:648. 单词替换(哈希表)------python写的太好了吧!!!

题目:

在这里插入图片描述

代码:python代码偷奸耍滑,无脑replace:

class Solution:
    def replaceWords(self, dict: List[str], sentence: str) -> str:
             for i in range(0,len(dict)):
                      s=""+sentence
                      sentence=sentence.replace(dict[i],'1')
                      b1=s.split()
                      b2=sentence.split()
                      b3=[]
                      for j in range(0,len(b1)):
                               if b2[j][0]=='1':
                                        b3.append(dict[i])
                               else:
                                        b3.append(b1[j])
                      sentence=b3[0]
                      for j in range(1,len(b1)):
                               sentence=sentence+' '+b3[j]
             return sentence
                                        
                                        

当然,正确但超时。
强调:直接使用==吧,不用is了、

题解思路1:

相比于直接使用replace,这里自己仅仅比较从头开始的,就可以通过啦。

题解1代码:

在这里插入图片描述
再次折服,
1.把一个列表转化为集合,:
在这里插入图片描述
2.字符串值当位置的分割:
在这里插入图片描述
3.map() 会根据提供的函数对指定序列做映射。
在这里插入图片描述
4.join
在这里插入图片描述
这样实现了每次的字符串以空格分隔太妙了吧。

题解思路二:

在这里插入图片描述
前缀树之前已经做过了,这样很容易理解如何去做。
构建一个树,每个节点包含3个要素,是否能作为结束点,是否有下一个节点,有下一个节点的话的指针。

2021, 也不算精华题,无非就是字典树懒得写了,暴力也挺好,字典树的时间也不是很优吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值