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;}
};
LeetCode 290. 单词规律(哈希)相关推荐
- AC Leetcode 290. 单词规律
290. 单词规律 给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律. 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之 ...
- leetcode 290. 单词规律(Java版)
题目 https://leetcode-cn.com/problems/word-pattern/ 题解 题目要求 pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着 双向连接 ...
- leetcode 290. 单词规律(hash)
给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律. 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向 ...
- LeetCode 291. 单词规律 II(回溯)
文章目录 1. 题目 2. 解题 1. 题目 给你一种规律 pattern 和一个字符串 str,请你判断 str 是否遵循其相同的规律. 这里我们指的是 完全遵循,例如 pattern 里的每个字母 ...
- 290. 单词规律。
给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律. 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规 ...
- LeetCode单词规律解法
LeetCode单词规律解法 给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律. 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str ...
- LeetCode 127. 单词接龙(图的BFS/双向BFS)
文章目录 1. 题目 2. 图的BFS解题 2.1 单向BFS 2.2 双向BFS !厉害了 1. 题目 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord ...
- Leetcode.126 单词接龙 II
题目链接 Leetcode.126 单词接龙 II 题目描述 按字典 wordList完成从单词 beginWord到单词 endWord转化,一个表示此过程的 转换序列 是形式上像 beginWor ...
- 【LeetCode】﹝数学规律ி﹞第N位数字、可怜的小猪
[LeetCode]﹝数学规律ி﹞第N位数字.可怜的小猪 文章目录 [LeetCode]﹝数学规律ி﹞第N位数字.可怜的小猪 乐团站位★ 罗马数字转整数★ 整数转罗马数字★★ 第 N 位数字★★ 数字 ...
最新文章
- LeetCode: Flatten Binary Tree to Linked List
- Sitemesh排除Exclude不装饰特定页面的解决办法
- Python学习笔记:类
- 删除驱动符号链接出错-变量作用域和RtlInitUnicodeString的问题
- unbuntu server (linux系统)下面安装 lamp
- scratch desktop的基本使用 - 如何使用积木
- PHP:第五章——字符串输出函数
- alien指令 linux,使用alien命令让deb包和rpm包互相转换
- Mybatis中(#{ })模糊查询like(使用oracle的concat函数嵌套拼接SQL)
- 京东让员工参观看守所;华为电视面世;苹果市值重回全球第一 | 极客头条
- 【支付】第三方易宝支付
- 代码对比工具,我就用这5个
- keil c语言怎么写程序,用keil软件如何编写单片机程序?
- 前端页面 div+css内容太长,实现点击展开余下全文(修改版)
- 在埋头写程序学技术的同时,有没有想到你们的老板和上司在搞什么?
- XSS注入进阶练习篇(三) XSS原型链污染
- Navicat Premium和Navicat for MySQL哪个好用?
- 微信小程序多次跳转后不能点_微信小程序运营需要先知道它的规则
- sýnesis™ Lite for Snort provides basic analytics for Snort IDS/IPS alert logs using the Elastic Stac
- am335x的网卡相关资料