首页 > 其他分享 >找两个单词规律-哈希表

找两个单词规律-哈希表

时间:2024-08-20 16:39:05浏览次数:8  
标签:count return 规律 pattern list 单词 dict split 哈希

 

力扣的简单题目,来找单词的规律,下面我们用python的dict来解决,思路:同时遍历pattern和s,因为s是用空格进行分割的,因此用python的split() 函数进行拆分即可。

Step1:统计pattern和s的长度是否一致,不一致返回False

Step2: 遍历pattern 和 s

Step3: 构建p_dict 和 s_dict 用于编码 ,构建 p_list和s_list来记录编码位置

Step4: 比较 p_list和s_list 是否一致

上代码:

class Solution:
    def wordPattern(self, pattern: str, s: str) -> bool:

        p_count=0
        p_dict={}
        p_list=[]
        
        s_count=0
        s_list=[]
        s_dict={}

        if len(pattern) != len(s.split()):
            return False

        for p_i,s_i in zip(pattern,s.split()):
            if p_i not in p_dict:
                p_dict[p_i]=p_count
                p_count+=1
            p_list.append(p_dict[p_i])
            if s_i not in s_dict:
                s_dict[s_i]=s_count
                s_count+=1
            s_list.append(s_dict[s_i])
        if p_list!=s_list:
            return False
        return True

 

标签:count,return,规律,pattern,list,单词,dict,split,哈希
From: https://www.cnblogs.com/TW-NLP/p/18369733

相关文章

  • 有规律的生活
    预防抑郁症最简单的方法就是有规律的生活。有规律的生活非常简单,只需要做好三个维度:睡眠、运动和饮食。1.睡眠如果睡眠不足就无法消除压力,导致压力和身体的疲惫不断累积。越是忙碌的时候,越应该保证充足的睡眠。生活不规律会导致自主神经紊乱。人类在白天的时候交感神经处于活......
  • #1.字符串哈希学习笔记
    “十分简单易懂的字符串哈希教程”字符串哈希0x01.什么是哈希定义(摘自OIwiki)[https://oi-wiki.org/string/hash/]>我们定义一个把字符串映射到整数的函数f,这个f称为是Hash函数。我们希望这个函数f可以方便地帮我们判断两个字符串是否相等。人话:把字符串以特定的......
  • 浅谈哈希长度扩展攻击
    攻击原理:我们首先需要了解一下MessageAuthenticationcodes(MACs),称为消息验证码,一般用于服务器验证消息的真实性。服务器把密钥和消息连接起来,用摘要算法获取摘要,对于H(secret+data)此类构造的散列函数,在密钥长度****和数据已知的情况下,通常可以使用哈希长度扩展攻击。......
  • 力扣面试经典算法150题:最后一个单词的长度
    最后一个单词的长度今天的题目是力扣面试经典150题中的数组的简单题:最后一个单词的长度题目链接:https://leetcode.cn/problems/length-of-last-word/description/?envType=study-plan-v2&envId=top-interview-150题目描述给定一个仅包含大小写字母和空格’’的字符......
  • Python编程常用英文单词大全!收藏别忘了!
      Python编程中常用的英文单词非常丰富,这些单词涵盖了编程的各个方面,包括基础概念、数据类型、控制结构、函数与模块、类与对象、异常处理等。以下是一些常用的英文单词及其简要说明:1.基础概念Variable(变量):用来存储和表示数据的容器。Function(函数):一段可重复使用的代码......
  • 代码随想录算法训练营day09|151.翻转字符串里的单词,卡码网:55.右旋转字符串,28.实现 str
    151.翻转字符串里的单词题目链接:https://leetcode.cn/problems/reverse-words-in-a-string/description/暴力removeExtraSpaces:voidremoveExtraSpaces(string&s){for(inti=s.size()-1;i>0;i--){if(s[i]==''&&s[i]=......
  • 链表中环的检测与入口节点的查找:哈希表与快慢指针方法
    前言在数据结构中,链表是一种常见的线性数据结构。链表中的环问题是面试和实际编程中经常遇到的一个问题。本文将先复习哈希表的基本概念,然后介绍两种检测链表中环的方法:哈希表法和快慢指针法,并分析它们的优缺点、原理以及时间和空间复杂度。哈希表复习定义:哈希表,又称散列表,......
  • 掌握一致性哈希算法
    如何分配请求?大多数网站背后肯定不是只有一台服务器提供服务,因为单机的并发量和数据量都是有限的,所以都会用多台服务器构成集群来对外提供服务。但是问题来了,现在有那么多个节点(后面统称服务器为节点,因为少一个字),要如何分配客户端的请求呢?其实这个问题就是「负载均衡问......
  • 《密码保护升级指南:顶级哈希算法大比拼》
    密码哈希技术深度剖析:掌握MessageDigest、Bcrypt与PBKDF2一、为何探究密码哈希技术随着互联网的发展,网络安全变得越来越重要。密码哈希算法作为保护用户密码安全的关键技术之一,其重要性不言而喻。在数字时代,密码安全构成了保护用户隐私和资产的第一道防线。密码哈......
  • LongWriter: 基于LLM代理可以将输出窗口大小扩展到10,000+个单词
    LLM可以处理长达100,000个token的输入,但在生成超过2,000词的适度长度输出时仍然面临困难,因为模型的有效生成长度本质上受到其在监督微调(SFT)过程中所见样本的限制。为解决这个问题,本文的作者引入了AgentWrite,这是一个基于代理的流程,它将超长生成任务分解为子任务,使现成的L......