LeetCode 676. 实现一个魔法字典(哈希)

1. 题目

实现一个带有buildDict, 以及 search方法的魔法字典。

对于buildDict方法,你将被给定一串不重复的单词来构建一个字典。

对于search方法,你将被给定一个单词,并且判定能否只将这个单词中一个字母换成另一个字母,使得所形成的新单词存在于你构建的字典中。

示例 1:
Input: buildDict(["hello", "leetcode"]), Output: Null
Input: search("hello"), Output: False
Input: search("hhllo"), Output: True
Input: search("hell"), Output: False
Input: search("leetcoded"), Output: False

注意:
你可以假设所有输入都是小写字母 a-z。
为了便于竞赛,测试所用的数据量很小。你可以在竞赛结束后,考虑更高效的算法。
请记住重置MagicDictionary类中声明的类变量,因为静态/类变量会在多个测试用例中保留。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/implement-magic-dictionary
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 建立原始字典的哈希表,以及单词长度的记录表
  • 查找时,长度必须相等,且变形词在哈希表中,且变形词不为原词
class MagicDictionary {unordered_set<string> origin;unordered_set<int> len;string temp;int i;char ch;
public:/** Initialize your data structure here. */MagicDictionary() {}/** Build a dictionary through a list of words */void buildDict(vector<string> dict) {for(string& word : dict) {origin.insert(word);len.insert(word.length());}}bool search(string word) {if(!len.count(word.length()))return false;for(i = 0; i < word.size(); ++i){temp = word;for(ch = 'a'; ch <= 'z'; ++ch){temp[i] = ch;if(origin.count(temp) && temp != word)return true;}	}return false;}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477720.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

技术动态 | 北大邹磊:图数据库中的子图匹配算法

转载公众号 | DataFunTalk分享嘉宾&#xff1a;邹磊 北京大学 教授编辑整理&#xff1a;xiaomei出品平台&#xff1a;DataFunTalk导读&#xff1a;本次讲座从图数据库中的核心查询算子——子图匹配入题&#xff0c;介绍了图数据库的基本概念、子图匹配的算法&#xff0c;以及在…

Spring Cloud Alibaba基础教程:Nacos的数据持久化

前情回顾&#xff1a; 《Spring Cloud Alibaba基础教程&#xff1a;使用Nacos实现服务注册与发现》《Spring Cloud Alibaba基础教程&#xff1a;支持的几种服务消费方式》《Spring Cloud Alibaba基础教程&#xff1a;使用Nacos作为配置中心》《Spring Cloud Alibaba基础教程&a…

盘点我跳过的科研天坑,进坑就是半年白干

文 | 白鹡鸰 and 小轶 祝大家新年快乐&#xff01;去年白鹡鸰花了两个月&#xff0c;刷了八千篇Arxiv&#xff0c;结果发现很多论文存在一些比较“基本”的常见问题&#xff1a;研究问题和问题假设存在严重的漏洞&#xff0c;或者缺少充分的相关工作调研&#xff0c;导致所谓的…

LeetCode 553. 最优除法(数学)

1. 题目 给定一组正整数&#xff0c;相邻的整数之间将会进行浮点除法操作。例如&#xff0c; [2,3,4] -> 2 / 3 / 4 。 但是&#xff0c;你可以在任意位置添加任意数目的括号&#xff0c;来改变算数的优先级。你需要找出怎么添加括号&#xff0c;才能得到最大的结果&#…

论文浅尝 - ACL2022 | 子图检索增强的知识图谱问答方法

转载公众号 | 学术头条作者&#xff1a;张静&#xff08;中国人民大学&#xff09;&#xff0c;张晓康&#xff08;中国人民大学&#xff09;&#xff0c;于济凡&#xff08;清华大学&#xff09;&#xff0c;唐建&#xff08;魁北克人工智能研究所&#xff09;&#xff0c;唐杰…

Spring Cloud Alibaba基础教程:Nacos配置的多文件加载与共享配置

前情回顾&#xff1a; 《Spring Cloud Alibaba基础教程&#xff1a;使用Nacos实现服务注册与发现》《Spring Cloud Alibaba基础教程&#xff1a;支持的几种服务消费方式》《Spring Cloud Alibaba基础教程&#xff1a;使用Nacos作为配置中心》《Spring Cloud Alibaba基础教程&a…

2202年了,“小样本”还值得卷吗?

文 | Severus从一个应用实验引发的思考。大家好&#xff0c;我是Severus&#xff0c;一个在某厂做中文自然语言理解的老程序员。这个主题&#xff0c;源自于我之前在公司内做的一次技术分享。承接上一篇文章&#xff08;格局打开&#xff0c;带你解锁 prompt 的花式用法&#x…

LeetCode 1023. 驼峰式匹配(暴力匹配)

1. 题目 如果我们可以将小写字母插入模式串 pattern 得到待查询项 query&#xff0c;那么待查询项与给定模式串匹配。&#xff08;我们可以在任何位置插入每个字符&#xff0c;也可以插入 0 个字符。&#xff09; 给定待查询列表 queries&#xff0c;和模式串 pattern&#x…

图谱实战 | 谈元鹏:电力领域知识图谱技术进展与应用实践

转载公众号 | DataFunTalk 分享嘉宾&#xff1a;谈元鹏 中国电力科学研究院编辑整理&#xff1a;monk 国家管网出品平台&#xff1a;DataFunTalk导读&#xff1a;知识图谱相关技术在开发和应用过程中&#xff0c;通常需要跟行业或者业务领域进行高度融合。但是在行业知识图谱构…

Spring Cloud Alibaba基础教程:Nacos配置的多环境管理

前情回顾&#xff1a; 《Spring Cloud Alibaba基础教程&#xff1a;使用Nacos实现服务注册与发现》《Spring Cloud Alibaba基础教程&#xff1a;支持的几种服务消费方式》《Spring Cloud Alibaba基础教程&#xff1a;使用Nacos作为配置中心》《Spring Cloud Alibaba基础教程&a…

LeetCode 423. 从英文中重建数字(找规律)

1. 题目 给定一个非空字符串&#xff0c;其中包含字母顺序打乱的英文单词表示的数字0-9。按升序输出原始的数字。 注意: 输入只包含小写英文字母。 输入保证合法并可以转换为原始的数字&#xff0c;这意味着像 “abc” 或 “zerone” 的输入是不允许的。 输入字符串的长度小于…

朱松纯:AI 需由“心”驱动,实现“心”与“理”的动态平衡

朱松纯北京通用人工智能研究院院长北京大学讲席教授清华大学基础科学讲席教授引言1.1 人生轨道&#xff1a;跃迁与升华人生一世所追求的&#xff0c;用世俗的语言来讲&#xff0c;无非三个层次&#xff1a;第一就是活着&#xff0c; 这对应于马斯洛七层需求理论&#xff08;hi…

Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解

前情回顾&#xff1a; 《Spring Cloud Alibaba基础教程&#xff1a;使用Nacos实现服务注册与发现》《Spring Cloud Alibaba基础教程&#xff1a;支持的几种服务消费方式&#xff08;RestTemplate、WebClient、Feign&#xff09;》《Spring Cloud Alibaba基础教程&#xff1a;使…

LeetCode 881. 救生艇(贪心,双指针)

1. 题目 第 i 个人的体重为 people[i]&#xff0c;每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人&#xff0c;但条件是这些人的重量之和最多为 limit。 返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 示例 1&#xff1a; 输入&#xff1a;peopl…

【报名开启】CCKS 2022教科书示意图问答任务

赛题背景示意图是一种高度抽象的知识表达载体&#xff0c;常由矩形、圆形等几何形状和箭头、折线等逻辑符号组成&#xff0c;广泛被应用于教科书、百科、知识博客等教育场景。在上述场景中&#xff0c;学习者常通过视觉问答的形式来判断对知识点的掌握情况&#xff0c;即&#…

以4%参数量比肩GPT-3!Deepmind 发布检索型 LM,或将成为 LM 发展新趋势!?

文 | ZenMoore编 | 小轶GPT3 一声枪响&#xff0c;给 NLP 带来了大模型风潮。这么长时间过来&#xff0c;无论是中文还是英文&#xff0c;模型越做越大。当然&#xff0c;这确实是符合逻辑的&#xff0c;因为如果以人脑为向导的话&#xff0c;那么多神经元&#xff0c;不得不需…

Spring Cloud Alibaba基础教程:使用Nacos作为配置中心

通过本教程的前两篇&#xff1a; 《Spring Cloud Alibaba基础教程&#xff1a;使用Nacos实现服务注册与发现》《Spring Cloud Alibaba基础教程&#xff1a;支持的几种服务消费方式&#xff08;RestTemplate、WebClient、Feign&#xff09;》 我们已经学会了&#xff0c;如何利…

LeetCode 1020. 飞地的数量(图的BFS/DFS)

文章目录1. 题目2. 解题2.1 BFS2.2 DFS1. 题目 给出一个二维数组 A&#xff0c;每个单元格为 0&#xff08;代表海&#xff09;或 1&#xff08;代表陆地&#xff09;。 移动是指在陆地上从一个地方走到另一个地方&#xff08;朝四个方向之一&#xff09;或离开网格的边界。 …

论文浅尝 | ISEEQ: 利用动态元信息检索和知识图谱的资讯搜索式问题生成器

笔记整理&#xff1a;侯哲衡&#xff0c;东南大学硕士&#xff0c;研究方向为知识图谱问答、自然语言生成。动机对话资讯搜索是在智能问答中一个新兴研究领域。对话资讯搜索旨在根据通过用户查询自动询问资讯搜索式问题&#xff08;information-seeking questions&#xff0c;I…

浅谈点击信号对搜索的影响

文 | bytecoder源 | 知乎背景过去一周&#xff0c;我们探讨了搜索系统最核心的指标以及如何通过实验的方式来判断策略的好坏。但是影响一个实验的好坏除去策略本身的影响之外&#xff0c;还会受到一些反直觉的因素的影响&#xff1b;之前在做搜索&#xff0c;尤其是搜索系统成熟…