zoukankan      html  css  js  c++  java
  • Leetcode练习(Python):第290题:单词规律:给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。

    题目:

    单词规律:给定一种规律 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 包含了由单个空格分隔的小写字母。   

    思路:

    第一感觉是双指针,结果测试样例3就有误了,后来改用哈希表。

    程序:

    class Solution:
        def wordPattern(self, pattern: str, str: str) -> bool:
            str = str.split()
            if len(str) != len(pattern):
                return False
            hashmapP = {}
            hashmapS = {}
            for i in range(len(pattern)):
                if pattern[i] not in hashmapP and str[i] not in hashmapS:
                    hashmapP[pattern[i]] = i
                    hashmapS[str[i]] = i
                elif pattern[i] not in hashmapP or str[i] not in hashmapS:
                    return False
                else: 
                    if hashmapP[pattern[i]] != hashmapS[str[i]]: 
                        return False
            return True
    

      

      

  • 相关阅读:
    STM32驱动TEA5767收音机模块
    stm32驱动DS1302芯片
    NRF24L01无线通讯模块驱动
    MQ-2烟雾传感器启动
    HCSR04超声波传感器驱动
    RDA5820收音机芯片驱动
    SD卡初始化以及命令详解
    STM32硬件IIC操作
    STM32驱动MPU6050
    BMP085气压传感器驱动
  • 原文地址:https://www.cnblogs.com/zhuozige/p/13020072.html
Copyright © 2011-2022 走看看