哈希算法----单词匹配模式

该博客探讨了哈希算法如何用于单词匹配模式,具体以'大大小小'为例进行阐述。
摘要由CSDN通过智能技术生成

匹配模式:大大小小  --> 1122

 


def wordpattern(wordpattern, input):
    word = input.split(' ')          # 目标字符串的单词以空格隔开
    if len(word) != len(wordpattern):   # 判断目标字符串和 模式字符串的长度是否相等
        return False
    hash = {}    # 存储模式字符串和单词字符串的对应关系
    used = {}    # 存储模式映射关系
    for i in range(len(wordpattern)):
        wp_i = wordpattern[i]   # 切割
        w_i = word[i]
        if wp_i in hash:   # 检查模式字符串是否已经被记录过
            if hash[wp_i] != w_i:  # 检查被记录过的模式字符串是否第一次出现
                return False
        else:   # 不是第一次出现
            if w_i in used:    # 判断是否在存储映射表中出现
                return False
            hash[wp_i] = w_i    # 第一次出现加入hash表
            used[w_i] = True    # used的表记录映射关系
    return True


def wordp(wordp, input):
    word = input.split(' ')
    if len(word) != len(wordp):
        return False
    hash = {}
    used = {}
    for i in range(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值