1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

  • 将“缓存控制器”抽象为一个按“进入顺序”维护的容器,每个字符串只保留一份,并记录其累计出现次数。

  • 每行读入后:

    1. 逐个字符串写入缓存:若不存在则按队尾插入并记数为 1;若已存在则在原位计数 +1(保持最早出现的顺序不变)。
    2. 立刻从缓存“最早”开始取出至多 n 个“不同字符串”,输出为「字符串 次数」对,并将这些键从缓存中删除;后续若同字符串再次进入,视为新键、重新计数。
    3. 若 n=0 或缓存为空,则输出 null。
  • 核心算法

P4223.第1题-小小故障管理员

    1000ms Tried: 345 Accepted: 59 Difficulty: 4 所属公司 : 华为
    算法与标签>队列

题目内容

有一个故障字符串序列由多行组成,每一行内有多个字符串,分别用空格隔开。现需要对这个字符串序列进行限流显示处理,显示规则如下:

1.输入的第一行为一个数字,表示限流参数 nnn

2.从第 222 行开始为要处理的字符串数据,我们需要将每一行数据流入一个缓存控制器,缓存中的信息包括字符串和其个数信息

3.每行输入数据中的字符串可能在缓存中有重复,如果有重复需要在缓存中对字符串的个数 +1+1+1

4.每一行流入后需要从当前缓存中取出最早的数据进行输出,取出的数据上限为限流参数 nnn ,如果数据未取完将继续保存在缓存中,取出的数据将从缓存中删除,后续缓存的相同字符串将重新开始计数

输入描述

输入的第一行为限流个数 nnn ,nnn 的范围为 [0,100],n=0[0,100],n=0[0,100],n=0 表示每次输入后不输出缓存中的数据

输入的第 222 行之后为要处理的数据,每行的字符串用空格隔开

每行输入的字符串个数最大为 200200200 个,最大输入行数为 100010001000 行

输出描述

输入的第 222 行开始每一行对应一行输出信息,每行输出格式为字符串和出现的个数,用空格隔开。

当缓存没有数据输出时,输出 nullnullnull

样例1

输入

5
abc a b c

ad bc

输出

abc 1 a 1 b 1 c 1
null
ad 1 bc 1

说明

限制单次输出 555 个不同字符串

第一行输入为 abcabcabc aaa bbb ccc ,输入后缓存是 abcabcabc aaa bbb ccc ,次数均为 111

因此第一行输出是 abcabcabc 111 aaa 111 bbb 111 ccc 111

第 222 行输入为空行,之前缓存为空,输入后缓存是空,因此第 222 行输出为 nullnullnull

第 333 行输入为 adadad bcbcbc ,之前缓存为空,输入后缓存是 adadad bcbcbc , 次数均为 111 ,因此第 333 行输出为 adadad 111 bcbcbc 111

所以最终输出为:

abcabcabc 111 aaa 111 bbb 111 ccc 111

nullnullnull

adadad 111 bcbcbc 111

样例2

输入

5
hard_bad dbms_error r_los low_power
mem_over mem_bad bit_error low_power storage_fail
hard_bad dbms_error r_los
hard_bad dbms_error r_los power_off

输出

hard_bad 1 dbms_error 1 r_los 1 low_power 1
mem_over 1 mem_bad 1 bit_error 1 low_power 1 storage_fail 1
hard_bad 1 dbms_error 1 r_los 1
hard_bad 1 dbms_error 1 r_los 1 power_off 1

说明

第一行 555 表示每次最多输出 555 个字符串信息

第 222 行输入为 444 个不同的字符串,流入缓存后,缓存只有 444 个字符串,全部输出,次数均为 111

第 222 次输入为有 888 个不同字符串,流入缓存后,缓存只有 888 个字符串,输出前 555 个,次数均为 111 ,

输出后缓存中有 hard_badhard\_badhard_bad dbms_errordbms\_errordbms_error r_losr\_losr_los , 次数都是 111

第 333 次输入时 hard_bad,dbms_error,r_loshard\_bad,dbms\_error,r\_loshard_bad,dbms_error,r_los 缓存中存在,计数加 111 , 输入后出现次数为 222 ,最后的 power_offpower\_offpower_off 出现次数为 111 ,全部输出

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 69ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?