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

 

posted @   君逸堂  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示