次のような数メガバイトのデータがあります。
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 と想定できます。これを行う最良の方法は何ですか?
1..10 前の行の 10 個の配列を繰り返しカウンターで保持し、新しい行が入ってくると配列の内容を回転させ、新しく読み取った行がどの配列の最も古いエントリとも一致しなかったときに上記のメッセージを出力することを考えていました、および配列の少なくとも 1 つが繰り返しで埋められています。