828. 字模式

828. 字模式

中文English

给定一个模式串pattern和一个字符串str,请问strpattern是否遵循相同的模式。
这里遵循模式指的是一个完全匹配,即在pattern中的每个不同的字母和str中每个非空的单词之间有一个双向映射的模式对应。

样例

样例1

输入: pattern = "abba" and str = "dog cat cat dog"
输出: true
解释:
str的模式是 abba

样例2

输入: pattern = "abba" and str = "dog cat cat fish"
输出: false
解释:
str的模式是 abbc

样例3

输入: pattern = "aaaa" and str = "dog cat cat dog"
输出: false
解释:
str的模式是 abba

样例4

输入: pattern = "abba" and str = "dog cat cat fish"
输出: false
解释:
str的模式是 abbc

注意事项

您可以认为模式串pattern只包含小写字母,而str包含由单个空间分隔的小写单词组成。

输入测试数据 (每行一个参数)如何理解测试数据?

class Solution:
    """
    @param pattern: a string, denote pattern string
    @param teststr: a string, denote matching string
    @return: an boolean, denote whether the pattern string and the matching string match or not
    """
    ‘‘‘
    大致思路:
    1.首先根据空格进行切割teststr,单个字符进行分割
    2.如果pattern和首字母字符串长度不相等,直接返回False
    3.循环进行校对,根据pattern和首字母字符串进行字典映射,如果存在不符合的,则返回False,否则True
    ‘‘‘
    def wordPattern(self,pattern, teststr):
        dic = {}
        return_dic = teststr.split(‘ ‘)
        ##首先判断长度是否相等
        if len(return_dic) != len(pattern):
            return False

        #否则
        count = -1
        for i in pattern:
            count += 1
            if i not in dic and return_dic[count] not in dic.values():
                #加进来,不做校验
                dic[‘%s‘%i] = return_dic[count]

            #否则,说明是重复的数值,需要进行校验
            if i in dic:
                #否则,说明是重复的数值,需要进行校验
                if dic[‘%s‘%i] != return_dic[count]:
                    return False
            else:
                return False
        return True

原文地址:https://www.cnblogs.com/yunxintryyoubest/p/12563482.html

时间: 2024-10-09 11:17:53

828. 字模式的相关文章

80*25彩色字模式的显示显存示例

1 ; 80*25彩色字模式的显示显存在内存中的地址为B8000h~BFFFH,共32k.向这个地址写入的内容立即显示在 屏幕上边. 2 3 ;在80*25彩色字模式 下共可以显示25行,每行80字符,每个字符在显存中占两个字节,第一个字节是字符的ASCII码.第二字节是字符的属性,(80字符占160个字节) 4 5 ;DispReturn模拟一个回车的显示,(让下一个要显示的字符在下一行的开头处显示),其中edi始终指向要显示的下一个字符的位置. 6 ; -------------------

找纸网:成功复制“找”模式

去年,"互联网+"概念一经提出就被炒得火热,随之获得蓬勃发展的是B2B大宗交易平台,传统行业转型反应之迅速可见一斑.在众多新兴B2B平台中,以找钢网.找纸网(www.zhaozhiw.com)为代表的"找"字模式互联网平台发展最为引人瞩目. 找钢网的成功在业内已经成为标杆,近期更是发布新一轮11亿人民币战略融资.因此它也成为众多涉足B2B创业者的"教科书",在其后陆续涌现出各行业的"找X网"."找纸网"就是

神奇的功能:手机摄像头拍照取字你会吗?

所有的老师都有这项技能—“备课”,也是最耗时间的一项工作.任何一位教师的PPT课件,都是奉献自身业余时间得来.备课不仅要先把内容写在本子上,还需要手动把内容录入到电脑,绘制成一堂优质PPT课件. 当在书上上看到好的文章,美妙的文字,可是不能直接将文字自动提取出来分享给别人,或者自己收藏. 神奇的手机摄像头帮助大家节省时间,今天给大家分享一款APP福昕扫描王,大家可以到应用市场搜索下载. 打开拍照功能,通过左滑将拍照模式切换到“拍照取字”模式,对着你需要取字的文档或者其他东西进行拍照,一秒即可瞬间

编程实践积累

1 编程经验实践,积累,总结,分享 2 3 4 博客地址:http://www.cnblogs.com/liaowanzhong/ 5 6 7 8 9 10 11 12 13 14 15 1. 大量群发邮件:购买Edm服务,大的互联网企业是和邮箱服务商签订协议(百度,腾讯,京东,阿里,csdn) 16 站内信 17 内网发短信:短信猫 18 19 2. Servlet Filter 生命周期 20 *Servlet:看配置文件中web.xml配置其启动的优先级别,即当load-on-startu

Windows IO方法

一.综述 Winsock分别提供了"套接字模式"和"套接字I / O模型",可对一个套接字上的I/O行为加以控制.其中,套接字模式用于决定在随一个套接字调用时,那些Winsock函数的行为.而另一方面,套接字模型描述了一个应用程序如何对套接字上进行的I/O进行管理及处理. Winsock提供了两种套接字模式:锁定和非锁定. Winsock提供五中套接字模型:这些模型包括select(选择).WSAAsyncSelect(异步选择).WSAEventSelect(事件

C# Socket编程 同步以及异步通信

套接字简介:套接字最早是Unix的,window是借鉴过来的.TCP/IP协议族提供三种套接字:流式.数据报式.原始套接字.其中原始套接字允许对底层协议直接访问,一般用于检验新协议或者新设备问题,很少使用. 套接字编程原理:延续文件作用思想,打开-读写-关闭的模式. C/S编程模式如下: Ø  服务器端: 打开通信通道,告诉本地机器,愿意在该通道上接受客户请求——监听,等待客户请求——接受请求,创建专用链接进行读写——处理完毕,关闭专用链接——关闭通信通道(当然其中监听到关闭专用链接可以重复循环

C#写电机驱动程序

前几天实验室做关于电机驱动的实验,用C#写的控制程序 程序如下: 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Threading.Tasks; 9 using System.

DELPHI下的SOCK编程

本文是写给公司新来的程序员的,算是一点培训的教材.本文不会涉及太多的编程细节,只是简单讲解在DELPHI下进行Winsock编程最好了解的知识. 题外话:我认为学习编程就如同学习外语一样,最好的方式是你先学会如何去运用它,然后才是了解它的语言特性.语法之类的东西.不过很可惜,我们以前的外语教育使用了相反的过程.软件编程也是一样,在很多人的大学阶段,你更多的是学习那些理论知识,学习“语法”,这里,我丝毫没有贬低理论知识重要性的意思.理论知识和实践是相辅相成的,但一个恰当的学习方式,很多时候可以让学

李路平:八大山人书法品评

南京博物院藏 李路平 <书法报>专栏:明清书法品评 清初画史上是以"四王吴恽",即王时敏.王鉴.王?.王原祁.吴历.恽寿平清初六家为道统的.这其中宫廷画家"四王"因受到皇室扶值更是朝野共赏的人物,成为清初画坛所谓的主流正脉.而清初由于女真族管领汉民族的江山,同时也是中国历史上充满复杂矛盾的时代,在文化上经历了从排斥到融合的过程中,这一时期画坛出现了与"四王"迥异的四位僧侣,合称"四僧": 朱耷(八大山人).原济(石