题解 | #简单错误记录#

简单错误记录

https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb

eDict = {}
eList = []
msg = input()
while msg != '':
    path, line = msg.split()
    file, line = path.split('\\')[-1][-16:], int(line)
    if (file, line) not in eList:
        eList.append((file, line))
    eDict[(file,line)] = eDict.get((file,line), 0) + 1
    try:
        msg = input()
    except:
        msg = ''
for e in eList[-8:]:
    print(*e, eDict[e])

显而易见的解法,根据题目的要求先进行数据的处理,获取文件的后16个字符和行数。 有顺序且重复录入只记第一次,显然是不重复列表来存储这些信息。计数操作很快就会想到字典的方式,关键是key的选择,我们根据题目的要求,文件16后字符和行数,显然我们把这个作为字典的key刚刚好。最后从列表里取出保存的最后8项,以此为键来获取字典的值。

全部评论

相关推荐

2025-12-31 18:42
复旦大学 Java
点赞 评论 收藏
分享
哈哈哈,你是老六:我去,这面试还要靠抢啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务