拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 Python蓝桥杯算法训练—预备爷的悲剧

Python蓝桥杯算法训练—预备爷的悲剧

白鹭 - 2022-02-14 1976 0 0

输入格式:第一行一个整数n,表示单词附录有n个单词,接下来n行每行一个小写字母组成的单词和一个整数,表示某一个单词和它所在的页数,接下来是一行整数m,表示要考m个单词,接下来m行小写字母组成的单词,表示要考到的单词

输出格式:一个数,表示需要复习的页数

样例输入:5
ab 1
ac 2
ab 2
ac 3
c 3
3
ab
ac
c

样例输出:

3

n=int(input(''))
dic1={}
for i in range(n):
    b=input('').strip().split()#输入ab 2 则 b=['ab','2'] 
    if dic1.get(b[0]) is None:
        dic1.setdefault(b[0],b[1])#存入单词和所在页码
    elif int(dic1.get(b[0]))>int(b[1]):#更新单词最早出现的页码
        dic1[b[0]]=b[1]
    else:
        pass
m=int(input(''))
res=[]
for i in range(m):
    b=input('').strip()
    res.append(b)#依次存入串列 如['ab','ac','c']

s=[]
for i in res:
     s.append(dic1.get(i))#储存每个单词所在页码
print(len(set(s)))#去除重复页码 累加

存储器限制512MB 时间1s

评测结果100分 存储器使用19.64MB

解决这道题步骤 1:题目冗长,抓取关键信息

2:两个突破口①记录单词最早出现的页码②记忆同一页上的单词只需查看一页 3:对应的解决办法①:通过比较,更新字典字母对应的页码 ②通过set去重 最后统计页码个数即最后结果

3:掌握串列字典的基本操作:切片,访问,修改......

赶上年末的小尾巴 大家一起加油吧~文章有不足之处欢迎批评指正!

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *