D106python练习20221118
'''
习题1、判断同构字符串
给定两个字符串 s 和 t,判断它们是否是同构的。
如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。
每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。
示例 1:
输入:s = "egg", t = "add"
输出:true
示例 2:
输入:s = "foo", t = "bar"
输出:false
示例 3:
输入:s = "paper", t = "title"
输出:true
遍历每一个s的字母,把对应到t的字母存到字典中
情况1:字典中没有(两个列表的元素)对应关系,那么就存起来 s[i]-->key,t[i]-->value
情况2:字典中有对应关系,那么比对一下是否对应关系一致
'''
def is_same_map_words(s,t): d = {} for i in range(len(s)): if s[i] not in d.keys(): if t[i] in d.values(): return False d[s[i]] = t[i] else: print(d[s[i]], t[i], d[s[i]] == t[i]) if d[s[i]] != t[i]: return False print(is_same_map_words("egg","add")) print(is_same_map_words("foo","bar")) print(is_same_map_words("paper","title")) print(is_same_map_words("foo","foo"))
【输出】
d d True
None
a r False
False
e e True
None
o o True
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!