[leetcode] 290. 单词规律

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

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

示例1:

复制代码
输入: pattern = "abba", s = "dog cat cat dog"
输出: true

示例 2:

复制代码
输入:pattern = "abba", s = "dog cat cat fish"
输出: false

示例 3:

复制代码
输入: pattern = "aaaa", s = "dog cat cat dog"
输出: false

提示:

  • 1 <= pattern.length <= 300
  • pattern 只包含小写英文字母
  • 1 <= s.length <= 3000
  • s 只包含小写英文字母和 ' '
  • s 不包含 任何前导或尾随对空格
  • s 中每个单词都被 单个空格 分隔

Python实现

使用两个hash表双向判断即可,注意在判断之前需要判断两个字符串的映射的总长度是否一致。

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

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

 

示例1:

输入: pattern = "abba", s = "dog cat cat dog"
输出: true
示例 2:

输入:pattern = "abba", s = "dog cat cat fish"
输出: false
示例 3:

输入: pattern = "aaaa", s = "dog cat cat dog"
输出: false
 

提示:

1 <= pattern.length <= 300
pattern 只包含小写英文字母
1 <= s.length <= 3000
s 只包含小写英文字母和 ' '
s 不包含 任何前导或尾随对空格
s 中每个单词都被 单个空格 分隔
相关推荐
金智维科技官方1 小时前
常见的大模型分类
人工智能·算法·ai·语言模型·数据挖掘
火龙kess2 小时前
Centos-Stream 10 安装教程(2025版图文教程)
linux·运维·centos
yzzzzzzzzzzzzzzzzz2 小时前
leetcode热题——有效的括号
算法·
崎岖Qiu2 小时前
leetcode1343:大小为K的子数组(定长滑动窗口)
java·算法·leetcode·力扣·滑动窗口
Shun_Tianyou3 小时前
Python Day25 进程与网络编程
开发语言·网络·数据结构·python·算法
Giser探索家3 小时前
什么是2米分辨率卫星影像数据?
大数据·人工智能·数码相机·算法·分类·云计算
菜鸟也会Fly4 小时前
【/usr/bin/env: “bash\r”: 没有那个文件或目录】问题解决
linux·bash
jz_ddk5 小时前
[科普] AI加速器架构全景图:从GPU到光计算的算力革命
人工智能·学习·算法·架构
程序员黄老师5 小时前
Linux tail 命令详解
linux·运维
曦月逸霜5 小时前
内部排序算法总结(考研向)
考研·算法·排序算法