如题:
写一个函数,实现对字符串的压缩
String cypte(String data){}
例如:
cypte("AABBBCCCCDDDDAAAAAJJJJJ")返回2A3B4C4D5A5J
cypte("xxxxxxxyyyyyyyyyyyyyykkk")返回7x14y3k
cypte("ABBBDDGGHHHH")返回A3B2D2G4H
我这里有一个参考实现,希望各位拍砖
static void cypte(String s){ StringBuilder sb=new StringBuilder(); int l=s.length(); char t=' '; if(l==1){ System.out.println(s); }else{ for(int i=0;i<l;){ int k=i+1; int c=1; while(k<l&&(s.charAt(i)==s.charAt(k))){ t=s.charAt(i); c++; k++; } if(k==i+1){ t=s.charAt(i); } i+=c; if(c==1){ sb.append(t); }else{ sb.append(c).append(t); } } System.out.println("压缩结果为\t"+sb); } }
相关推荐
主要介绍了C语言字符串快速压缩算法代码,将字符串中连续出席的重复字母进行压缩,其主要的压缩字段的格式为”字符重复的次数+字符”。有需要的小伙伴参考下吧。
利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)...
主要介绍了C#自定义字符串压缩和解压缩的方法,通过自定义C#字符串操作类实现对字符串的压缩与解压的功能,具有一定参考借鉴价值,需要的朋友可以参考下
2. 文本编辑器开发者:在开发文本编辑器时,需要实现字符串查找和替换功能。KMP算法可以优化查找和替换操作,提高编辑器的性能。 3. 数据压缩开发者:在开发数据压缩算法时,需要查找重复的字符串并进行压缩。KMP...
java代码-写一个程序,将字符串中重复的内容进行压缩,例如:“wwwwaaadexxxxxx” 压缩后变成 “w4a3dex6”
2. 文本编辑器开发者:在开发文本编辑器时,需要实现字符串查找和替换功能。KMP算法可以优化查找和替换操作,提高编辑器的性能。 3. 数据压缩开发者:在开发数据压缩算法时,需要查找重复的字符串并进行压缩。KMP...
Oracle P/L SQL实现文件压缩、解压功能,以下是此过程包的头部,包体经常打包处理plb,感兴趣用户可以下载下来。 Create or Replace Package UTL_ZIP AUTHID CURRENT_USER as Type File_List is Table of Clob; -...
最近在做Android开发,遇到了需要压缩字符串的功能,下面这篇文章主要给大家介绍了Android实现压缩字符串的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们...
本文实例讲述了C语言字符串原地压缩的实现方法,对于学习字符串操作的算法设计有不错的借鉴价值。分享给大家供大家参考。具体方法如下: 字符串原地压缩示例: “eeeeeaaaff”压缩为”e5a3f2” 具体功能代码如下: /...
主要介绍了基于pako.js实现gzip的压缩和解压功能,结合具体实例形式分析了pako.js实现字符串压缩与解压缩的相关操作技巧,需要的朋友可以参考下
利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。 思路:定义一个字符串数组用来放存在的...
C#帮助类(Helper class)是一种用于封装常用功能的类。它通常包含一组静态方法,这些方法能够...例如,一个日期帮助类可以提供各种日期计算和格式化的方法,一个字符串帮助类可以提供字符串处理和转换的方法,等等。
//Index中包括了一个静态函数get_next(),这个函数可以得到字符串的最简匹配值(kmp算法中字符匹配失败后的下一个最佳匹配值) //用字符串Tstr替换主串str中出现的所有与substr相等的子串 int StrReplace(HString *...
利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。 思路:定义一个字符串数组用来放存在的...
一. 实验内容 功能: 1.C++源代码扫描程序识别C++记号。C++语言包含了几种类型的记号:标识符,关键字,...4.* 选作部分:进一步思考或实现——如何进一步实现减小源文件大小的压缩功能。 5.应该书写完善的软件文档。
4.1.4 字符数组和字符串处理 147 4.1.5 多维数组 150 4.2 间接数据存取 153 4.2.1 指针的概念 153 4.2.2 声明指针 154 4.2.3 使用指针 155 4.2.4 初始化指针 157 4.2.5 sizeof运算符 162 4.2.6 ...
该案例通过zlib实现gzip的压缩解压功能,包括解压gzip字符串、图片两个案例;提供了zlib1211的源码包和对应编译后生成的文件; 相应说明参考笔者博客:Qt笔记8--zlib实现gzip解压,链接...
循环从Fn取出一定大小的字符串,对其进行哈夫曼编码。将其编码保存到目标文件Fd中,直到取完所有数据。 文件解密: 从密码本文件Ft中获取字符码表。 以字符码表为参数构造哈夫曼树。 循环从Fn文件中取出一定大小的...
功能: (1)C++源代码扫描程序识别C++记号。...(5)选作部分:进一步思考或实现——如何进一步实现减小源文件大小的压缩功能。 (6)应该书写完善的软件文档,最好使用Rational Rose来完成部分框图。
六、用7-ZIP 实现命令行压缩和解压功能 七、调用VBScript 程序 八、将批处理转化为可执行文件 九、时间延迟 1、利用ping 命令延时 2、利用for 命令延时 3、利用vbs 延迟函数,精确度毫秒,误差1000 毫秒内 4、仅用...