有一个数组in,现在要对它进行压缩
算法是这样的:一开始从数组中读出8个存入out。指针在in中指向当前还未被压缩处
接下来每次都在in中寻找指针前的数据(已处理压缩的原始数据)是否跟指针接下来的重复
如果重复的数据长度超过4,就进行压缩,如果不超过4就原值写入
求找指针(数组下标)及长度的算法

解决方案 »

  1.   

    比如压缩前的数据是:
     F7 18 F7 18 F7 18 F7 18 F7 18 F7 18 F7 18 F7 18 
     F7 18 F7 18 FF FF FF FF FF FF FF FF FF FF FF FF 
     FF FF FF FF FF FF F7 18 FF FF FF FF F7 18 F7 18 
     FF FF FF FF F7 18 FF FF FF FF FF FF FF FF FF FF 
     FF FF FF FF FF FF FF FF FF FF FF FF F7 18 FF FF 压缩后的数据是:
     FE FF F7 18 F7 18 F7 18 F7 18 FE FF 04 00 00 00 
     F7 18 F7 18 FF FF FF FF FF FF FF FF FE FF 04 00 
     0A 00 FF FF F7 18 FF FF FF FF FE FF 04 00 08 00 
     FE FF 0A 00 09 00 FE FF 04 00 11 00 这里的FE FF是key 是表示后面两字节是压缩数据的标识紧跟着的是长度及偏移指针
    能给出算法最好,提示一下小弟方法思路也有分