IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 【华为机试Python3题解】HJ19简单错误记录 -> 正文阅读

[数据结构与算法]【华为机试Python3题解】HJ19简单错误记录

题目介绍

  • 原题链接:HJ19 简单错误记录
  • 描述:开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。
    处理:
    1、 记录最多8条错误记录,循环记录,最后只用输出最后出现的八条错误记录。对相同的错误记录只记录一条,但是错误计数增加。最后一个斜杠后面的带后缀名的部分(保留最后16位)和行号完全匹配的记录才做算是“相同”的错误记录。
    2、 超过16个字符的文件名称,只记录文件的最后有效16个字符;
    3、 输入的文件可能带路径,记录文件名称不能带路径。也就是说,哪怕不同路径下的文件,如果它们的名字的后16个字符相同,也被视为相同的错误记录
    4、循环记录时,只以第一次出现的顺序为准,后面重复的不会更新它的出现时间,仍以第一次为准
  • 数据范围:错误记录数量满足 1 ≤ n ≤ 100 1 \le n \le 100 1n100,每条记录长度满足 1 ≤ l e n ≤ 100 1 \le len \le 100 1len100
  • 输入描述:每组只包含一个测试用例。一个测试用例包含一行或多行字符串。每行包括带路径文件名称,行号,以空格隔开。
  • 输出描述:将所有的记录统计并将结果输出,格式:文件名 代码行数 数目,一个空格隔开
  • 示例1
    输入:
    D:\zwtymj\xccb\ljj\cqzlyaszjvlsjmkwoqijggmybr 645
    E:\je\rzuwnjvnuz 633
    C:\km\tgjwpb\gy\atl 637
    F:\weioj\hadd\connsh\rwyfvzsopsuiqjnr 647
    E:\ns\mfwj\wqkoki\eez 648
    D:\cfmwafhhgeyawnool 649
    E:\czt\opwip\osnll\c 637
    G:\nt\f 633
    F:\fop\ywzqaop 631
    F:\yay\jc\ywzqaop 631
    D:\zwtymj\xccb\ljj\cqzlyaszjvlsjmkwoqijggmybr 645
    
    输出:
    rzuwnjvnuz 633 1
    atl 637 1
    rwyfvzsopsuiqjnr 647 1
    eez 648 1
    fmwafhhgeyawnool 649 1
    c 637 1
    f 633 1
    ywzqaop 631 2
    
    说明:
    由于D:\cfmwafhhgeyawnool 649的文件名长度超过了16个字符,达到了17,所以第一个字符c应该被忽略。
    记录F:\fop\ywzqaop 631F:\yay\jc\ywzqaop 631由于文件名和行号相同,因此被视为同一个错误记录,哪怕它们的路径是不同的。
    由于循环记录时,只以第一次出现的顺序为准,后面重复的不会更新它的出现时间,仍以第一次为准,所以D:\zwtymj\xccb\ljj\cqzlyaszjvlsjmkwoqijggmybr 645不会被记录。

题解:使用字典处理

这题直接用字典就行了,不需要用列表再存一下键,因为字典里键的顺序并不会乱,字典里键的顺序就是按照放入的顺序来的。

dic = {}
try:
    while True:
        p, n = input().split(' ')
        name = p.split('\\')[-1][-16:]
        key = name + ' ' + n
        if key in dic:
            dic[key] += 1
        else:
            dic[key] = 1
except (EOFError, ValueError):
    keys = [k for k in dic][-8:]
    for k in keys:
        print(k, dic[k])

在这里插入图片描述

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-05-07 11:22:23  更:2022-05-07 11:23:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:22:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码