力扣 648. 单词替换
题目
在英语中,我们有一个叫做 词根(root) 的概念,可以词根后面添加其他一些词组成另一个较长的单词——我们称这个词为 继承词(successor)。例如,词根an,跟随着单词 other(其他),可以形成新的单词 another(另一个)。
现在,给定一个由许多词根组成的词典 dictionary 和一个用空格分隔单词形成的句子 sentence。你需要将句子中的所有继承词用词根替换掉。如果继承词有许多可以形成它的词根,则用最短的词根替换它。
你需要输出替换之后的句子。
示例
输入:dictionary = [“cat”,“bat”,“rat”], sentence = “the cattle was rattled by the battery”
输出:“the cat was rat by the bat”
输入:dictionary = [“a”,“b”,“c”], sentence = “aadsfasf absbs bbab cadsfafs”
输出:“a a b c”
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/replace-words
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
方法1:哈希表模拟
Java实现
class Solution {public String replaceWords(List<String> dictionary, String sentence) {Set<String> set = new HashSet<>();for (String d : dictionary) set.add(d);String[] strs = sentence.split(" ");for (int i = 0; i < strs.length; i++) {String str = strs[i];for (int j = 0; j < str.length(); j++) {if (set.contains(str.substring(0, j + 1))) {strs[i] = str.substring(0, j + 1);break;}}}return String.join(" ", strs);}
}
力扣 648. 单词替换相关推荐
- Leetcode 648.单词替换(Replace Words)
Leetcode 648.单词替换 1 题目描述(Leetcode题目链接) 在英语中,我们有一个叫做 词根(root)的概念,它可以跟着其他一些词组成另一个较长的单词--我们称这个词为 继承词( ...
- LeetCode 648. 单词替换
文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述 在英语中,我们有一个叫 ...
- 648. 单词替换 : 字典树的经典运用
题目描述 这是 LeetCode 上的 648. 单词替换 ,难度为 中等. Tag : 「字典树」 在英语中,我们有一个叫做 词根(root) 的概念,可以词根后面添加其他一些词组成另一个较长的单词 ...
- leetcode每日一题--前缀树;前缀哈希;深搜;面试题 08.04. 幂集;648. 单词替换面试题 01.09. 字符串轮转;剑指 Offer II 062. 实现前缀树
leetcode每日一题 ps:今天的每日一题没意思,简单的模拟,自己换一道 面试题 08.04. 幂集 幂集.编写一种方法,返回某集合的所有子集.集合中不包含重复的元素. 说明:解集不能包含重复的子 ...
- 字典树/Trie/前缀树-LeetCode总结:720词典中最长的单词;127. 单词接龙;677. 键值映射;面试题 17.17. 多次搜索;648. 单词替换
MyTrie结构体和相关操作函数 typedef struct MyTrie {bool is_word;vector<MyTrie*> next;MyTrie():is_word(fal ...
- Leetcode 648.单词替换
单词替换 在英语中,我们有一个叫做 词根(root)的概念,它可以跟着其他一些词组成另一个较长的单词--我们称这个词为 继承词(successor).例如,词根an,跟随着单词 other(其他),可 ...
- LeetCode 648. 单词替换(Trie树)
1. 题目 在英语中,我们有一个叫做 词根(root)的概念,它可以跟着其他一些词组成另一个较长的单词--我们称这个词为 继承词(successor).例如,词根an,跟随着单词 other(其他), ...
- 2022-1-29 Leetcode 648.单词替换
这道题目的关键是,如果找到了前缀,就整个单词就只留下前缀,剩下的部分扔掉,如果没有找到前缀,整个单词都留下. string replaceWords(vector<string>& ...
- 每日一题·648.单词替换·前缀树
题目 示例 思路 前缀:字符串的前缀是指字符串的任意首部.比如字符串"abbc"的前缀有"a","ab","abb",& ...
最新文章
- Linux下MySQL的字符集乱码问题总结
- bom event周期_DOM-BOM-EVENT(1)
- 算法9-5:最大流算法的Java代码
- JQ表单序列化变成 对象
- 编写函数main求3!+6!+9!python_Python day 6(3) Python 函数式编程1
- daily scrum 11.30
- 如何正确的更换网站服务器?
- ios::sync_with_stdio(true);
- 《CUDA C编程权威指南》——2.2 给核函数计时
- GridView中添加自动编号,以及鼠标经过时行背景色变和删除时提示。
- 经纬度转换坐标接口 查询位置信息
- centos oracle libaio哪下载,linux 安装libaio
- 深度森林(gcforest)原理讲解以及代码实现
- codeblock图形界面编程
- 网易有道词典识别不了adobe打开的pdf
- 《Graph Neural Network with Heterophily》阅读笔记
- 一个矩阵与单位矩阵相乘等于本身吗?并且符合交换律吗?
- 中枢神经系统解剖结构图,神经系统的解剖结构
- 怎么查服务器芯片组,服务器芯片组
- C语言 CJSON使用实例
热门文章
- 福州三中 计算机竞赛,福州高中学科竞赛亮点耀眼
- 暑假学习计划:Day_1.JSPServletTomcat 环境搭建到基础的认识。
- 我的一点自学心得[摘]
- java字符串用0X0F分割_微信公众帐号开发教程第4篇-----开发模式启用及接口配置Java...
- 6044:4115:鸣人和佐助
- win7做网站服务器数据库,win7做网站服务器
- 北交计算机学院推荐理由,北京交通大学计算机与信息技术学院赵守国老师介绍...
- thinksns开源微博系统 V3上传漏洞
- CSS 多种布局方式
- Kup Buty Under Armour także czynników bocznych