本题要求设计一种算法机制来抑制重复日志,满足以下两个条件:
10
毫秒内出现相同的日志,则只保留第一个。100
毫秒内出现 10
条相似的日志(去除数字后字符相同),则只保留前 9
条。可以使用两种方法:
10
毫秒内的相同日志数量。小红的朋友是一位从事运维工作的专业人士。有一天,他突然有急事需要请假,但是他非常担心公司的系统运行日志出现海量日志的问题。这种问题是指系统打印了大量相同或相似内容的日志,导致有效信息难以被捕捉,甚至会影响系统的运行效率。为了避免这种情况发生,小红的朋友请求小红帮助管理系统的运行日志,并确保只记录有用的信息,避免无效日志的产生。对于运维而言,系统的运行日志是非常重要的,因为它包含了系统运行时的各种细节和提示信息,能够帮助运维人员诊断和解决各种问题。
小红针对海量日志的问题,提出了一种智能算法机制。避免在系统运行时产生大量日志。在这个问题中,我们将"海量日志"定义如下:在10毫秒内(小于10毫秒),如果打印了2条相同的日志,只保留第一条;在 100 毫秒内(小于 100毫秒),如果打印了10条相似的日志,只保留前9条。按时间读取日志,若被读取的日志被判定为抑制日志,则其将不会记录到日志文件中,即删去这一项。
字符串s,t相似的定义:去除掉两者中所有数字后(相对顺序不发生改变)逐字符相等。则s,t相似
为了简化题意,使得他变成一道可以做的算法题,小红给出了以下条件,确保你能写好你的代码~
本用例中的日志条数(最多不超过1000条)和时间戳:日志打印内容
按时间戳输出被抑制的日志。
输入
5
100:1cbbb
100:2c3a2
102:2c3a2
102:2232c
103:2232c
输出
102:2c3a2
103:2232c