#P1497. 2024.8.21-秋招-第1题-数据重删
-
ID: 101
Type: Default
1000ms
256MiB
Tried: 715
Accepted: 213
Difficulty: 5
Uploaded By:
TaZi
Tags>模拟排序哈希表
2024.8.21-秋招-第1题-数据重删
视频讲解
一、数据重删
数据重删是一种节约存储空间的技术,通常情况下,在数据存储池内是有很多重复的数据库。重删则是将这些重复的数据块找出并处理的技术。简单地说重删,就是将N份重复的数据快仅保留1份,并将N−1份数据的地址指针指向唯一的那一份。
我们输入一串存储的数据,用N表示数据个数,用K标识号数据库的大小,设计一个方法判断当前数据块是否和前面的数据库有重复,两个数据库内容完全一样则表示重复。如果重复则将这个数据库删除,并且在第一个出现数据库的后面增加重复数据的计数,输出经过重复之后的内容。
解答要求
时间限制:C/C++1000ms,其他语言 2000ms
内存限制:C/C++256MB, 其他语言512MB
输入
8输入数据的个数
2数据块的大小
1 2 3 4 1 2 3 4依次是数据值
输出
1 2 2 3 4 2输出结果为去除重复数据后的结果,输出结果最后没有空格,以数字结尾,输出内容不改变输入数据库的顺序
样例1
输入
8
2
1 2 3 4 1 2 3 4
输出
1 2 2 3 4 2
解释
总共8个数据,数据库的大小为2,按新窗口进行切片表示一个数据块,分别得到数据库为[1,2],[3,4],
[1,2],[3,4]其中第一个数据块和第三个数据块相同,第二个数据块和第四个数据块相同,可以分别进行重测,重测之后数据库[1,2]的计数变为2,表示有两个相同的数据块[1,2],同理[3,4]d的数据块计数性变为2
样例2
输入
8
3
3 4 5 3 4 5 5 4
输出
3 4 5 2 5 4 1
通知
扫码备注华为交流群~期待您的到来
- 湘ICP备2023007293号
- Worker 0, 26ms
- Powered by Hydro v4.14.1 Community