当前位置:网站首页>LeetCode 890(C#)
LeetCode 890(C#)
2022-07-07 15:38:00 【有趣就行】
题目
你有一个单词列表 words 和一个模式 pattern,你想知道 words 中的哪些单词与模式匹配。
如果存在字母的排列 p ,使得将模式中的每个字母 x 替换为 p(x) 之后,我们就得到了所需的单词,那么单词与模式是匹配的。
(回想一下,字母的排列是从字母到字母的双射:每个字母映射到另一个字母,没有两个字母映射到同一个字母。)
返回 words 中与给定模式匹配的单词列表。
你可以按任何顺序返回答案。
示例:
输入:words = [“abc”,“deq”,“mee”,“aqq”,“dkd”,“ccc”], pattern = “abb”
输出:[“mee”,“aqq”]
解释:
“mee” 与模式匹配,因为存在排列 {a -> m, b -> e, …}。
“ccc” 与模式不匹配,因为 {a -> c, b -> c, …} 不是排列。
因为 a 和 b 映射到同一个字母。
代码
public class Solution
{
public IList<string> FindAndReplacePattern(string[] words, string pattern)
{
return words.Where(a => Match(a, pattern) && Match(pattern, a)).ToList();
}
private bool Match(string a, string pattern)
{
if (a.Length != pattern.Length) return false;
Dictionary<char, char> dic = new Dictionary<char, char>();
for (int i = 0; i < pattern.Length; i++)
{
(char x, char y) = (pattern[i], a[i]);
if (!dic.ContainsKey(x)) dic.Add(x, y);
else if (dic[x] != y) return false;
}
return true;
}
}
边栏推荐
- LeetCode 1626. 无矛盾的最佳球队 每日一题
- How to choose the appropriate automated testing tools?
- The server is completely broken and cannot be repaired. How to use backup to restore it into a virtual machine without damage?
- Jenkins发布uniapp开发的H5遇到的问题
- LeetCode 1696. Jumping game VI daily question
- Siggraph 2022 best technical paper award comes out! Chen Baoquan team of Peking University was nominated for honorary nomination
- Lex & yacc of Pisa proxy SQL parsing
- QT 图片背景色像素处理法
- Flask搭建api服务-SQL配置文件
- Matplotlib绘制三维图形
猜你喜欢
MRS离线数据分析:通过Flink作业处理OBS数据
麒麟信安云平台全新升级!
[Seaborn] combination chart: facetgrid, jointgrid, pairgrid
Nerf: the ultimate replacement for deepfake?
Skimage learning (3) -- gamma and log contrast adjustment, histogram equalization, coloring gray images
SlashData开发者工具榜首等你而定!!!
QT picture background color pixel processing method
PLC:自动纠正数据集噪声,来洗洗数据集吧 | ICLR 2021 Spotlight
Leetcode brush questions day49
The process of creating custom controls in QT to encapsulating them into toolbars (II): encapsulating custom controls into toolbars
随机推荐
麒麟信安携异构融合云金融信创解决方案亮相第十五届湖南地区金融科技交流会
智慧物流平台:让海外仓更聪明
DAPP defi NFT LP single and dual currency liquidity mining system development details and source code
Rpcms method of obtaining articles under the specified classification
User defined view essential knowledge, Android R & D post must ask 30+ advanced interview questions
Shallow understanding Net core routing
Leetcode brush questions day49
LeetCode 1981. 最小化目标值与所选元素的差 每日一题
LeetCode 648(C#)
QML beginner
LeetCode 1696. 跳跃游戏 VI 每日一题
Linux 安装mysql8.X超详细图文教程
redis主从、哨兵主备切换搭建一步一步图解实现
LeetCode 1774. 最接近目标价格的甜点成本 每日一题
How to mount the original data disk without damage after the reinstallation of proxmox ve?
【Seaborn】组合图表:PairPlot和JointPlot
Flask搭建api服务-生成API文档
LeetCode 1049. 最后一块石头的重量 II 每日一题
mysql实现两个字段合并成一个字段查询
让保险更“保险”!麒麟信安一云多芯云桌面中标中国人寿, 助力金融保险信息技术创新发展