LeetCode 290. 单词规律(哈希)

1. 题目

给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。

这里的 遵循完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。

示例1:
输入: pattern = "abba", str = "dog cat cat dog"
输出: true示例 2:
输入:pattern = "abba", str = "dog cat cat fish"
输出: false示例 3:
输入: pattern = "aaaa", str = "dog cat cat dog"
输出: false示例 4:
输入: pattern = "abba", str = "dog dog dog dog"
输出: false
说明:
你可以假设 pattern 只包含小写字母, str 包含了由单个空格分隔的小写字母。

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

2. 双哈希

  • 建立字符和字符串的双向哈希表
  • 存在key时,查找value必须相等
class Solution {
public:bool wordPattern(string pattern, string str) {istringstream in(str);string word;unordered_map<char, string> m;unordered_map<string, char> n;for(int i = 0; i < pattern.length(); ++i){if(!(in >> word))//输入出错,没单词了return false;if(!m.count(pattern[i]) && !n.count(word))//都不存在,建立双向哈希表{m[pattern[i]] = word;n[word] = pattern[i];}else//有char在m中,或者word在n中{	//存在,必须相等匹配if(m.count(pattern[i]) && m[pattern[i]] != word)return false;if(n.count(word) && n[word] != pattern[i])return false;}}if(in >> word)//还能输入,str长了,不匹配return false;return true;}
};

在这里插入图片描述

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

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

相关文章

开源开放 | 一个用于知识驱动的零样本学习研究的开源数据集KZSL(CCKS2021)

OpenKG地址&#xff1a;http://openkg.cn/dataset/k-zslGitHub地址&#xff1a;https://github.com/China-UK-ZSL/Resources_for_KZSL开放许可协议&#xff1a;CC BY-SA 4.0 &#xff08;署名相似共享&#xff09;贡献者&#xff1a;浙江大学(耿玉霞、陈卓、陈华钧)&#xff0c…

LeetCode 1022. 从根到叶的二进制数之和(递归)

1. 题目 给出一棵二叉树&#xff0c;其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。例如&#xff0c;如果路径为 0 -> 1 -> 1 -> 0 -> 1&#xff0c;那么它表示二进制数 01101&#xff0c;也就是 13 。 对树上的每一…

别再Prompt了!谷歌提出tuning新方法,强力释放GPT-3潜力!

文 | Yimin_饭煲编 | 炼丹学徒如果评选NLP圈的2020年度十大关键词&#xff0c;那么GPT-3&#xff08;Language Models are Few shot Learners) 一定榜上有名。GPT-3庞大的参数量&#xff0c;优异的性能至今仍让圈内圈外人都津津乐道&#xff0c;而OpenAI发布的OpenAI API&#…

大数据:任务调度,手把手教你

大数据&#xff1a;任务调度https://blog.csdn.net/qq_43713049/article/details/116985497 文章目录 任务调度一、任务流调度的需求二、任务流调度的工具三、Oozie的简介四、Oozie的2种使用方式五、WorkFlow 与 Fork 和 Join六、SubFlow&#xff1a;子工作流七、定时调度的实现…

人脸识别 | 你的论文离CVPR , 还有多远?

最近&#xff0c;一则人脸识别安全性问题的新闻上了热搜。&#xff08;图片来自网络&#xff09;虽然让不少人产生了“人在家中坐&#xff0c;债从天上来”的担忧&#xff0c;但也不由感叹人脸识别的发展与普及。人脸识别发展至今&#xff0c;已经在众多领域中占领重要地位。这…

LeetCode 455. 分发饼干(贪心)

1. 题目 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。对每个孩子 i &#xff0c;都有一个胃口值 gi &#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 j &#xff0c;都有一个尺…

开源开放 | 高质量体育赛事摘要数据集SGSum(CCKS2021)

OpenKG地址&#xff1a;http://openkg.cn/dataset/sgsumGitHub&#xff1a;https://github.com/krystalan/SGSum开放许可协议&#xff1a;CC BY-SA 4.0 &#xff08;署名相似共享&#xff09;贡献者&#xff1a;苏州大学&#xff08;王佳安、张汀依、瞿剑峰、李直旭&#xff09…

消息队列设计精要

消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能&#xff0c;成为异步RPC的主要手段之一。 当今市面上有很多主流的消息中间件&#xff0c;如老牌的ActiveMQ、RabbitMQ&#xff0c;炙手可热的Kafka&#x…

数学教育中的AI:NeurIPS’21 Workshop 欢迎投稿!

Workshop主页&#xff1a;https://mathai4ed.github.io数学推理是一种人类独特的智慧能力&#xff0c;也是人类在对科学和知识的探寻道路上不可缺少的基石。不过&#xff0c;数学学习通常是一项极具挑战性的过程&#xff0c;因为它依赖于指导者对学习内容的设计、教学和评估。从…

LeetCode 696. 计数二进制子串

1. 题目 给定一个字符串 s&#xff0c;计算具有相同数量0和1的非空(连续)子字符串的数量&#xff0c;并且这些子字符串中的所有0和所有1都是组合在一起的。 重复出现的子串要计算它们出现的次数。 示例 1 : 输入: "00110011" 输出: 6 解释: 有6个子串具有相同数量…

论文浅尝 - ISWC2021 | 当知识图谱遇上零样本视觉问答

论文题目&#xff1a;Zero-shot Visual Question Answering using Knowledge Graph本文作者&#xff1a;陈卓(浙江大学)、陈矫彦(牛津大学)、耿玉霞(浙江大学)、Jeff Z. Pan(爱丁堡大学)、苑宗港(华为)、陈华钧(浙江大学)发表会议&#xff1a;ISWC 2021论文链接&#xff1a;htt…

Java 8系列之重新认识HashMap

HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK&#xff08;Java Developmet Kit&#xff09;版本的更新&#xff0c;JDK1.8对HashMap底层的实现进行了优化&#xff0c;例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别&…

LeetCode 1042. 不邻接植花(图的数据结构)

1. 题目 有 N 个花园&#xff0c;按从 1 到 N 标记。在每个花园中&#xff0c;你打算种下四种花之一。 paths[i] [x, y] 描述了花园 x 到花园 y 的双向路径。 另外&#xff0c;没有花园有 3 条以上的路径可以进入或者离开。 你需要为每个花园选择一种花&#xff0c;使得通…

我用Transformer修复代码bug

源&#xff1a;机器之心本地化 Bug 并修复程序是软件开发过程中的重要任务。在本篇论文中&#xff0c;来自微软 CloudAI 部门的研究者介绍了 DeepDebug&#xff0c;一种使用大型预训练模型 transformer 进行自动 debug 的方法。首先&#xff0c;研究者基于 20 万个库中的函数训…

论文浅尝 | 一种基于递归超图的知识图谱问答方法

笔记整理 | 谭亦鸣&#xff0c;东南大学博士生来源&#xff1a;EACL’21链接&#xff1a;https://www.aclweb.org/anthology/2021.eacl-main.35.pdf概述与动机本文提出了一种基于递归超图的知识图谱问答方法RecHyperNet&#xff0c;作者认为人回答问题时倾向于在推理过程中递归…

模拟登录——添加cookies,使用postmanget请求网页数据

摘要&#xff1a; 在进行爬虫时&#xff0c;除了常见的不用登录就能爬取的网站&#xff0c;还有一类需要先登录的网站。比如豆瓣、知乎&#xff0c;以及上一篇文章中的桔子网。这一类网站又可以分为&#xff1a;只需输入帐号密码、除了帐号密码还需输入或点击验证码等类型。本文…

论文浅尝 | 神经网络是如何外推的:从前馈神经网络到图神经网络

笔记整理 | 王泽元&#xff0c;浙江大学在读硕士&#xff0c;研究方向为图神经网络&#xff0c;对比学习。什么是外推&#xff1f;指从已知数据的孤点集合中构建新的数据的方法。与插值&#xff08;interpolation&#xff09;类似&#xff0c;但其所得的结果意义更小&#xff0…

恕我直言,很多调参侠搞不清数据和模型谁更重要

作者&#xff1a;Dario Radecic&#xff0c;Medium 高质量技术博主编译&#xff1a;颂贤▲图源&#xff1a;[Brandon Lopez]一般的AI课程会介绍很多如何通过参数优化来提高机器学习模型准确性的方法&#xff0c;然而这些方法通常都存在一定的局限性。这是因为我们常常忽视了现代…

LeetCode 720. 词典中最长的单词(Trie树)

1. 题目 给出一个字符串数组words组成的一本英语词典。从中找出最长的一个单词&#xff0c;该单词是由words词典中其他单词逐步添加一个字母组成。若其中有多个可行的答案&#xff0c;则返回答案中字典序最小的单词。 若无答案&#xff0c;则返回空字符串。 示例 1: 输入: …

论文浅尝 | 通过知识到文本的转换进行知识增强的常识问答

笔记整理&#xff1a;陈卓&#xff0c;浙江大学在读博士&#xff0c;主要研究方向为低资源学习和知识图谱论文链接&#xff1a;https://www.aaai.org/AAAI21Papers/AAAI-10252.BianN.pdf发表会议&#xff1a;AAAI 2021动机文章提出了对于未来CQA(Commonsense QA)问题的三个见解…