当前位置: 首页 > wzjs >正文

美丽阿坝网站怎么做永顺县建设局网站

美丽阿坝网站怎么做,永顺县建设局网站,深圳南山网的工作,个人账号如何注册网站LeetCode 648 单词替换题解 题目描述 题目链接 在英语中,我们有一个叫做「词根」的概念,可以缩短其他单词的长度。给定一个词典和一句话,将句子中的所有单词用其最短匹配词根替换。 解题思路 哈希表 前缀匹配法 预处理词典:…

LeetCode 648 单词替换题解

题目描述

题目链接
在英语中,我们有一个叫做「词根」的概念,可以缩短其他单词的长度。给定一个词典和一句话,将句子中的所有单词用其最短匹配词根替换。

解题思路

哈希表 + 前缀匹配法

  1. 预处理词典:将词典存入哈希表实现O(1)查找
  2. 最短匹配优先:对每个单词检查所有可能前缀
  3. 动态替换:找到第一个匹配的前缀立即替换

代码实现

from typing import Listclass Solution:def replaceWords(self, dictionary: List[str], sentence: str) -> str:# 将词典存入集合实现快速查找(O(1)时间复杂度)root_set = set(dictionary)  # 空间复杂度 O(n)# 分割句子为单词列表(O(m)时间复杂度,m为单词数)words = sentence.split()# 遍历每个单词进行替换(O(m*l)时间复杂度,l为单词平均长度)for i in range(len(words)):# 检查所有可能前缀(从最短开始)for j in range(1, len(words[i])):  # 注意:词根至少1个字符# 发现匹配立即替换并终止检查if words[i][:j] in root_set:words[i] = words[i][:j]break  # 保证替换最短匹配词根# 重新组合为句子(O(m)时间复杂度)return ' '.join(words)
if __name__ == "__main__":# 测试用例test1 = Solution().replaceWords(["cat", "bat", "rat"], "the cattle was rattled by the battery")  # "the cat was rat by the bat"test2 = Solution().replaceWords(["a", "b", "c"], "aadsfasf absbs bbab cadsfafs")  # "a a b c"print(test1)  # 输出:"the cat was rat by the bat"print(test2)  # 输出:"a a b c"
http://www.dtcms.com/wzjs/814327.html

相关文章:

  • 做网站默认城市深圳网站平台
  • 常州市网站建设公司阿里云免费域名
  • 竞价排名采用什么计费方式中山网站建设乐云seo模板中心
  • 图片展示网站模板网站建设创新
  • 安徽飞亚建设网站商城网站开发的目的和意义
  • 简洁大方网站模板点赞分享打赏 wordpress
  • 网站内容如何优化做一份seo网站诊断
  • 如何加强企业网站建设 论文6wordpress导航字体颜色
  • 网站后台管理系统使用方法wordpress 优惠插件
  • 北京网站制作闪快网站如何在工信部备案信息
  • 惠州网站建设公司哪家好做网站 用什么语言
  • 网站开发背景400字六安网站制作公司排名
  • 做编程网站有哪些方面引流渠道推广
  • 淘宝网做宝贝详情用哪个网站做网站推广的难点、
  • 潞城市网站建设公司建网站好还是开天猫好
  • 网站个性化某某公司网络营销策划书
  • 小游戏网站建设自己怎么建购物网站
  • 常见c2c网站有哪些下载游戏的软件应用
  • 网站建设 gei l f学院网站建设工作会议
  • 信誉好的合肥网站建设内容管理系统设计
  • 搭建公司网站的作用d代码做网站
  • 网站的权限设置html编辑器手机版
  • 网页策划书 网站建设定位外贸企业建网站
  • 网站建设推广优化招聘模板网站做电商资质吗
  • 黄骅港怎么读googleseo優化
  • 网站在国内服务器在国外深圳软件公司平均薪资排行榜
  • 江西省建设工程造价管理局网站扬州市规划建设局网站
  • 娄底市建设网站做视电影网站赚钱吗
  • 做网站优化多少钱济南seo优化公司
  • 南宁网站建设加q479185700数据库与网站