判断是否为同构字符串

news/2024/9/18 3:51:17/文章来源:https://www.cnblogs.com/TW-NLP/p/18367581

要想解答这个算法,得明白一个概念,什么是同构字符串,来看一下定义:

也就是说,s可以转化为t,对应的t也可以转化为s。

 

解决思路:

我们进行一次的遍历,然后定义了两个dict,来记录s->t,t->s的映射,然后在后面校验一下,这两个dict的value 是否是相同的,来上代码。

class Solution:def isIsomorphic(self, s: str, t: str):dict_s = {}dict_t = {}for s_i, t_i in zip(s, t):if s_i not in dict_s:dict_s[s_i] = ord(s_i) - ord(t_i)if t_i not in dict_t:dict_t[t_i] = ord(s_i) - ord(t_i)# 如果value不相同 就返回False  在py37后 dict是有序的for s_i, t_i in zip(s, t):if dict_s[s_i] != dict_t[t_i]:return Falsereturn True

 

 为什么定义了两个dict?用来避免不同的s对应相同的t,所以用两个dict来进行校验。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/783858.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gradle编译项目Druid找不到tools.jar和jconsole.jar

原因:jdk11之后不支持druid的两个依赖 方法一:<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.5</version>方法二:<!-- <exclusions> <exclusion> …

鸿蒙开发ArkUI沉浸式导航

1.沉浸式导航的效果是占用底部顶部或者其他挖孔区域的位置 沉浸式的样式 非沉浸式的样式 2.实现方式有三种实现放1.全局(Ability)2.页面3.指定元素全局的实现方式(Ability) 在你的Ability 中设置 在页面创建完成后 (onWindowStageCreate) 中onWindowStageCreate(windowStage…

Python 实现Word和TXT文本相互转换

Word文档(.doc或.docx)和纯文本文件(.txt)是两种常用的文件格式。Word文档通常用于复杂的文档处理和排版,而纯文本文件则用于存储和传输纯文本信息。了解如何在这两种格式之间进行转换能提高工作效率,并便于文件管理。本文将详细介绍如何使用Python实现Word和TXT文件格式…

Python一些简单基础的模板化语法

字符串的格式化 %s:可以接收任何类型的传值(%d只可以接收整型int)单个值 "my age is %s" %"18.56"按照值对应 res = "my name is %s,my age is %s" %("xj",18)按照字典传值 res = "my name is %(name)s,my name is %(age)s&q…

Windows下cmd中cd命令不起作用的原因和解决办法

Windows下cmd中cd命令不起作用的原因和解决办法如图:cd命令无效 原因:windows系统cmd换目录跨磁盘的话需要先进行磁盘的转换

VisualStudio 产生的.sdf和.ipch文件删除、不生成

前言全局说明VisualStudio 产生的.sdf和.ipch文件删除、不生成一、说明 环境: Windows 7 旗舰版 Visual Studio 2013二、原因 某天,打算给 vs2013 的一个工程,打包备份,打包后,发现压缩包有 90MB ,看到数字确实很惊讶。 因为这个工程就是画了几个按钮的小功能,怎么会这么…

Docker 容器中镜像导出/导入

利用容器中镜像导出/导入 创建一个简单的Docker镜像 利用docker ps -a命令查看要导出的镜像。 导出 查看要导出的镜像 [root@localhost ~]# docker ps -adocker export命令进行镜像导出。 [root@localhost ~]# docker export 418ae > nginx-docker.tar导入 [vipsoft@kafka1h…

算法与数据结构——时间复杂度

时间复杂度 运行时间可以直观且准确地反映算法的效率。要准确预估一段代码的运行时间,应该进行如下操作。确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 评估各种计算操作的运行时间,例如加法操作需要1ns,乘法操作需要10ns,打印操作…

算法与数据结构——了解复杂度(迭代与递归)

复杂度分析 算法效率评估 在算法设计中,我们追求以下两个层面的目标。找到问题解法:算法需要再规定的输入范围内可靠地求得问题的正确解 寻求最优解法:同一个问题可能存在多种解法,我们希望找到尽可能高效的算法。也就是说,在能够解决问题的前提下,算法效率已经成为衡量算…

算法与数据结构——了解复杂度

复杂度分析 算法效率评估 在算法设计中,我们追求以下两个层面的目标。找到问题解法:算法需要再规定的输入范围内可靠地求得问题的正确解 寻求最优解法:同一个问题可能存在多种解法,我们希望找到尽可能高效的算法。也就是说,在能够解决问题的前提下,算法效率已经成为衡量算…

算法与数据结构——复杂度分析

复杂度分析 算法效率评估 在算法设计中,我们追求以下两个层面的目标。找到问题解法:算法需要再规定的输入范围内可靠地求得问题的正确解 寻求最优解法:同一个问题可能存在多种解法,我们希望找到尽可能高效的算法。也就是说,在能够解决问题的前提下,算法效率已经成为衡量算…

AI大模型快速生成题库-助力业务人效提升10+倍

一 现状问题 1、培训考核涉及的文件数量较多 当前,京东航空公司维修部门面临着人员规模的快速增长和持续的培训需求。根据民航局的规定,维修培训必须确保所有维修人员都能够完成对飞机维修相关文件的学习,这包括维修方案、维修工程管理手册、工作程序手册等共计12本手册以及…