每日一题20201216(290. 单词规律)

简介: 单词规律

290. 单词规律

10.jpg

image-20201216111049215

思路


首先要理解清楚题目的意思,就好像孙亚龙给卢本伟起外号一样,卢本伟的外号,大家都知道:五五开


但是你不能明着叫,所以你用aab进行代替,这个题目可以说很符合这个场景了!所以现在要做的是,判断五五开是不是aab,判断aab是不是五五开。


首先我们维护2个map, 一个存放a->五的映射关系, 一个存放五->a的映射关系。


为什么需要2个map, 你想,adb->五五开, 这样的映射,你只存储了a->五,并没有存储五->a,所以adb->五五开也能通过,但这不符合题意。


class Solution:
    def wordPattern(self, pattern: str, s: str) -> bool:
        # mp1: a -> wu
        mp1 = {}
        # mp2: wu -> a
        mp2 = {}
        # 切割字符串为数组
        b = s.split(" ")
        # 如果长度不一样 直接return False
        if len(pattern) != len(b):
            return False
        # 长度一样可以尽情zip
        for x, y in zip(pattern, b):
            # a -> wu 如果检测失败,直接return
            if mp1.get(x) is not None and mp1.get(x) != y:
                return False
            # wu -> a 如果检测失败, 直接return
            if mp2.get(y) is not None and mp2.get(y) != x:
                return False
            # 建立a->wu和wu->a的映射关系
            mp1[x] = y
            mp2[y] = x
        return True

11.jpg

image-20201216111901380


写完题解了,终于可以坐下了。




相关文章
WK
|
Python
Python 内置函数详解(一)
在Python中,内置函数直接由解释器提供,无需导入即可使用。它们覆盖多种任务,从基本运算到复杂对象操作。例如,`print()`用于输出信息,如`print('你好, 我是xxx')`;`input()`接收用户输入,便于互动。Python支持多种数据类型:整数(`int()`)、浮点数(`float()`)、布尔值(`bool()`)、复数(`complex()`)等可通过相应函数创建或转换。
WK
205 1
OOP的缺点有哪些
【7月更文挑战第17天】OOP的缺点有哪些
541 2
|
算法 程序员
游戏中的常见概率设计分析
游戏中的常见概率设计分析
|
Ubuntu Linux 开发工具
Linux操作系统7:文件系统及磁盘管理(二)
Linux操作系统7:文件系统及磁盘管理(二)
178 0
|
存储 弹性计算 NoSQL
坚持伙伴优先,共创数据存储新生态
共建存储生态,普惠千行万业。
700 1
|
JavaScript 前端开发 索引
【跳槽必备】2023常用手写面试题知识点总结(二)
【跳槽必备】2023常用手写面试题知识点总结(二)
154 0
|
移动开发 JSON 小程序
【小程序开篇】小程序架构和配置
【小程序开篇】小程序架构和配置
409 0
【小程序开篇】小程序架构和配置
Word Capitalization
Word Capitalization
168 0
Word Capitalization
|
存储 SpringCloudAlibaba Dubbo
SpringCloud Alibaba实战(3:存储设计与基础架构设计)
SpringCloud Alibaba实战(3:存储设计与基础架构设计)
430 0
SpringCloud Alibaba实战(3:存储设计与基础架构设计)
|
开发框架 弹性计算 安全
阿里云服务器ecs选择(地域+CPU+操作系统+带宽)
应该如何选择阿里云服务器呢?购买什么配置的阿里云服务器是适合自己的呢?下面我们就来说说如何选择阿里云服务器配置。
327 0
阿里云服务器ecs选择(地域+CPU+操作系统+带宽)