Leetcode日记 290. 单词规律 给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配

Leetcode日记 290. 单词规律 给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配

在这里插入图片描述

给定一种规律 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 中每个单词都被 单个空格 分隔

解题思路

  • 一看到相互匹配就想到了字典,但又一种可能需要我们考虑
    a->dog
    b->dog
  • 这并不遵循相同的规律,但在一个字典的情况下还是会匹配成功,所以我建立了两个字典来进行匹配。
pattern = "abba"
s = "dog cat cat dog"
class Solution:
    def wordPattern(self, pattern: str, s: str) -> bool:
        pattern_ =  list(pattern)
        s_ = s.split(" ")
        if len(pattern_) != len(s_) :
            return False
        dic1 = {
   }
        dic2 = {
   }
        for i in range(len(s_)) :
            if s_[i] not in dic1 :
                dic1[s_[i]] = pattern_[i]
            else :
                if dic1[s_[i]] != pattern_[i] :
                    return False
            if pattern_[i] not in dic2 :
                dic2[pattern_[i]] = s_[i]
            else :
                if dic2[pattern_[i]] != s_[i] :
                    return False
        return True
        
        
a = Solution().wordPattern(pattern,s)
print(a)
  • 通过,证明两个字典判断匹配的方法是可以的
    在这里插入图片描述

制作不易,感谢三连,谢谢啦

相关推荐

  1. [leetcode] 290. 单词规律

    2024-02-21 17:40:02       39 阅读
  2. leetcode290单词规律

    2024-02-21 17:40:02       40 阅读
  3. LeetCode 290. 单词规律

    2024-02-21 17:40:02       23 阅读
  4. 建议遵循代码规范,大幅提升团队开发效率

    2024-02-21 17:40:02       29 阅读
  5. leetcode231 判断一个整数是否是2n次幂

    2024-02-21 17:40:02       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-21 17:40:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-21 17:40:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-21 17:40:02       82 阅读
  4. Python语言-面向对象

    2024-02-21 17:40:02       91 阅读

热门阅读

  1. Python 安装和使用的IDE

    2024-02-21 17:40:02       44 阅读
  2. 微服务开发工具及环境搭建

    2024-02-21 17:40:02       54 阅读
  3. php 函数 三 公钥私钥

    2024-02-21 17:40:02       54 阅读
  4. 【ES】es查询term、match、match_phrase、mast_not、mast...

    2024-02-21 17:40:02       51 阅读
  5. Python自动化部署与配置管理:Ansible与Docker

    2024-02-21 17:40:02       52 阅读
  6. python3调用阿里云openapi脚本 - 生产环境

    2024-02-21 17:40:02       49 阅读
  7. 本地模拟发送、接收RabbitMQ数据

    2024-02-21 17:40:02       56 阅读
  8. 怎样重置ubuntu mysql8密码

    2024-02-21 17:40:02       52 阅读
  9. ARM体系架构

    2024-02-21 17:40:02       45 阅读
  10. 【python】使用OpenCV进行行人检测

    2024-02-21 17:40:02       56 阅读