python每日例题527
638 · 字符同构
给定两个字符串 s 和 t ,确定它们是否是同构的。
两个字符串是同构的如果 s 中的字符可以被替换得到 t。所有出现的字符必须用另一个字符代替,同时保留字符串的顺序。 没有两个字符可以映射到同一个字符,但一个字符可以映射到自己。
样例 1 :
输入 : s = "egg", t = "add"
输出 : true
说明 :
e -> a, g -> d。
样例 2 :
输入 : s = "foo", t = "bar"
输出 : false
说明 :
没有方案。
样例 3 :
输入 : s = "paper", t = "title"
输出 : true
说明 :
p -> t, a -> i, e -> l, r -> e。
class Solution(object):
def isIsomorphic(self, s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
# hash 方法
if len(s) != len(t):
return False
if len(s) == None or len(s) < 2:
return True
# 使用哈希映射记录每个字母的转换方法,键:s的字母,值:t的字母
smap = {}
for i in range(len(s)):
# 如果s[i]不在键中,但t[i]出现在字典的值中,说明出现了s=ab,t=aa这种情况
if s[i] not in smap and t[i] in smap.values():
return False
# 如果s[i]已在键中,且t[i]与键s[i]的值不对应,说明出现了s=aa,t=ab这种情况
if s[i] in smap and smap[s[i]] != t[i]:
return False
# 仅有以上两种情况需要输出False,如果不满足以上两种情况,则添加键值对
smap[s[i]] = t[i]
# 循环走完说明s和t中每个字母都有唯一的对应关系,可以输出True
return True
solution = Solution()
print(solution.isIsomorphic('paper', 'title'))
2960 · 定义一个函数
def my_name():
return 'hello'
2959 · 求各列表中最大值的平均值
给定一个列表 list_1
,里面嵌套了多个列表,请你计算出每个嵌套列表的最大值,并输出所有最大值的平均值。
names = eval(input())
sum1 = 0
count = 0
for i in range(len(names)):
//从大到小排序
list.sort(names[i])
names[i].reverse()
sum1 = names[i][0] + sum1
count = count +1
avg =sum1/count
print("%.2f" % avg)
2958 · 取出列表中的数字进行运算
给定一个列表 list_1
,里面有四个字符数字,请你将这四个字符数字转换成整型数字进行下列的运算:
a/b*(c+d)
list_1 = eval(input())
# 主要是学会列表字符串对于整型的转换
results = list(map(int, list_1))
result = results[0]/results[1]*(results[2]+results[3])
print("%.2f" % result)
2956 · 判断是否有优惠
店铺周年庆,给定一个所有商品列表,商品名以 j、z、d、f 和 h 开头的将会打折扣,请你统计一下打折扣的商品,并以列表的方式打印到控制台。
list_1 = eval(input())
# Please write your code here
list_2 = []
list_check = ['j', 'z', 'd', 'f', 'h']
for i in range(len(list_1)):
if list_1[i][0] in list_check:
list_2.append(list_1[i])
print(list_2)
2951 · 求直角三角形的一条直角边
import math
# Get a, c
a = int(input())
c = int(input())
b=max(a,c)
d=min(a,c)
# Please write your code here
b = math.sqrt( pow(b, 2)-pow(d, 2) )
print('%.f' % b)
2949 · 找出出现奇数次的数字
给定一个列表 list_1
,里面有且仅有一个数字出现奇数次,其他数均出现偶数次,请你找出这个数字并打印出来。
# Get List
list_1 = eval(input())
count = 0
# Please write your code here
for i in range(len(list_1)):
count = list_1.count(list_1[i])
if count % 2 != 0:
print(list_1[i])
break
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南