我有几兆字节的数据,如下所示:
11 2 1
4 3 1
11 2 1
4 3 1
11 2 1
4 3 1
18 3 2
我想通过添加“前 n 行重复 m 次”的行来压缩它。该算法应该读取行并延迟打印它们,直到找到可能的最长 m*n,但可以假设 n<=10。最好的方法是什么?
我正在考虑只保留 10 个数组,其中包含 1..10 个前行和重复计数器,在新行进入时旋转数组内容,并在新读取的行与任何数组中最旧的条目不匹配时打印上述消息,并且至少有一个数组被重复填充。