是否可以在输入字符串上运行长度编码,但是压缩程度更高?我希望能够通过指定每个值的位置来大量压缩字符串中的字符数量。例如:
输入字符串:ABBAACDCCDD
传统输出:1A2B2A1C1D2C2D
所需的输出:3A(1:1,2:3)3B(2:2)3C(1:5,2:7)3D(1:6,2:10)
(1:1)
中的第一个值表示值的位置,第二个值表示该位置和打开的位数,并且昏迷分隔要放置的位置。
我知道这对于小字符串(例如上面的示例)来说效率很低,但我打算将其实现为一个构造函数,该字符串的范围从~200
到~5000
编辑:
如果输入的字符串是ASCII和常规格式,我该怎么做?我已经看了java.util.regex.Pattern
类的Javadoc,看起来它只接受ASCII或普通文本。是否有可能同时拥有?