行程长度压缩算法(Run Length Encoding)
来源:互联网 发布:eve for mac 编辑:程序博客网 时间:2024/05/21 10:53
行程长度压缩法即根据字符串的连续重复字符进行编码的一种方法,例如:
"aaaaaaabbccccdefffffffgg"
输出结果为:
"a7b2c4d1e1f7g2"
很显然这种方法如果处理连续重复字符串的效果较佳,最差的情况就是没有连续的字符,这样的话除了没有压缩不算,而且还增加了字符串的长度,例如:
"abcdefgh"
压缩结果:
"a1b1c1d1e1f1g1h1"
所以应用次方法要注意场景。该压缩法的代码实现本身不是很难,只要做好前后字符对比,并对连续相同字符计数即可,可在时间复杂度
public class RunLengthEncoding { public static String encoding(String str){ if (str == null) return null; if (str.length() <= 1) return str; StringBuilder sb = new StringBuilder(""); char pre_c = str.charAt(0); int cnt = 1; for (int i = 1; i < str.length(); i++) { char c = str.charAt(i); if (c == pre_c) { cnt++; continue; } else { sb.append(String.valueOf(cnt)); sb.append(c); cnt = 1; pre_c = c; } } sb.append(String.valueOf(cnt)); return sb.toString(); } public static void main(String[] args) { System.out.println(encoding("wwwwaaadexxxxxx")); return; }}
0 0
- 行程长度压缩算法(Run Length Encoding)
- RLE(run length encoding)行程长度压缩算法
- 行程长度压缩算法
- RLE行程长度压缩算法
- RLE行程长度压缩算法
- RLE行程长度压缩算法
- RLE行程长度压缩算法
- poj1782(Run Length Encoding)
- RLE 行程长度压缩算法的改进
- RLE行程长度编码压缩算法
- RLE行程长度编码压缩算法
- RLE行程长度压缩算法C版本
- Run-Length Encoding
- 1639. Run Length Encoding
- 1639. Run Length Encoding
- POJ1782:Run Length Encoding
- Run-Length Encoding
- Run Length Encoding
- WF公务车新需求开发(续)
- Oracle表赋查询权限
- 如何在CentOS 7服务器上安装NodeJS
- Android-关于AndroidStudio的侧滑模板的控件问题
- Exec Maven Plugin全面解析和使用示例
- 行程长度压缩算法(Run Length Encoding)
- Git flow调研
- MAC-npm更新版本
- Spring Redis(3)序列化
- 喷水装置(一)
- nginx+ffmpeg搭建流媒体服务器(直播流)
- 字符串匹配的BF算法
- css3真神了可以做动画 图像动画、Flash动画不久将被替代
- R神经网络代码 (对数据有归一化和反归一化)