判断单词规律

简介: 判断单词规律

1.问题描述

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

这里的遵循指完全匹配,例如,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

来源:力扣(LeetCode)


2.算法描述

本问题主要在于判断所给的pattern规律是否符合str输入的规律,“是”则返回Ture,“否”则返回False。我们今天主要就是通过比较两个变量的index索引值。

我们首先能看见str是一个用空格隔开的整体的字符串,我们需要用str.split(“ ”)的方式来将整个字符串以“空格”为参照物来拆分为多个字符。再使用pattern.index、str.index来得出关于相同字符的索引,以此来判断是否满足两者相同。


3.实验讨论与结果

找出其中的内在逻辑,并写出过程,带入值,输出结果。

pattern="abba"
a="ads pwe dai pwe"
n=a.split(" ")
print(list(map(pattern.index,pattern)))
print(list(map(n.index,n)))
if list(map(pattern.index,pattern))==list(map(n.index,n)):
   print("Ture")
else:
   print("False")


.结语

我们能够将它用于迅速比较两个事物类型是否相同的其他案例中,如果是再进阶一点的话,我认为来判断str的首字母会更体现水平与难度。

当然这也只是解决方法之一,此法仅供参考。


目录
相关文章
|
8月前
【每日一题Day130】LC1255得分最高的单词集合 | 回溯
【每日一题Day130】LC1255得分最高的单词集合 | 回溯
51 0
|
8月前
编译原理——构造预测分析表(判断某字符串是否是文法G(E)的句子)
编译原理——构造预测分析表(判断某字符串是否是文法G(E)的句子)
118 0
|
8月前
|
算法 Java C++
数据结构与算法面试题:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。(提示:使用动态规划或者中心扩散)
数据结构与算法面试题:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。(提示:使用动态规划或者中心扩散)
88 0
【每日挠头算法题(8)】最后一个单词的长度|重新排列字符串
【每日挠头算法题(8)】最后一个单词的长度|重新排列字符串
|
算法 索引
【算法挨揍日记】day08——30. 串联所有单词的子串、76. 最小覆盖子串
给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如,如果 words = ["ab","cd","ef"], 那么 "abcdef", "abefcd","cdabef", "cdefab","efabcd", 和 "efcdab" 都是串联子串。 "acdbef" 不是串联子串,因为他不是任何 words 排列的连接。
389 0
|
存储 算法 前端开发
前端算法-单词规律
前端算法-单词规律
|
算法 Java 索引
【算法】给定一个字符串 s 和一些长度相同的单词 words,串联所有单词的子串。要不要来试一试?
给定一个字符串 s 和一些长度相同的单词 words串联所有单词的子串
157 0
【算法】给定一个字符串 s 和一些长度相同的单词 words,串联所有单词的子串。要不要来试一试?
【读者来稿】在一串长序列中查找特定短序列
【读者来稿】在一串长序列中查找特定短序列
118 0
|
存储 数据库
面试官:如何在十亿个单词字典中,判断某个单词是否存在?(布隆过滤器)
如何在十亿个单词表中查找某个单词是否出现呢?答案已经给出来了,那就是使用布隆过滤器。那这个布隆过滤器是什么呢?下面就好好讲讲,方便在面试中提高你的zhuangbility。
189 0
面试官:如何在十亿个单词字典中,判断某个单词是否存在?(布隆过滤器)