`
kingj
  • 浏览: 426388 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

实现一个字符串的压缩功能

 
阅读更多

如题:

写一个函数,实现对字符串的压缩

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语言字符串快速压缩算法代码

    本题目的目标是实现一个字符串快速压缩算法,它将连续重复的字符进行压缩,遵循"字符重复次数+字符"的格式。例如,"xxxyyyyyyz"会被压缩成"3x6yz"。下面我们将详细讨论这个算法的实现及其涉及的关键知识点。 首先,...

    Code_笔试题_字符串压缩_

    标题中的“Code_笔试题_字符串压缩_”指的是一个与编程相关的笔试题目,重点在于实现字符串的压缩功能。这类问题通常出现在技术面试或招聘过程的笔试试题中,旨在考察应聘者的编程能力和对数据结构的理解。 描述中...

    一个DELPHI压缩字符串的例子如RTF格式

    在DELPHI中,我们可以利用各种压缩库或算法来实现字符串的压缩。例如,ZLib库提供了一套完整的压缩和解压缩功能,包括常用的Deflate算法。以下是一个简单的DELPHI使用ZLib压缩RTF字符串的例子: 首先,你需要引入...

    Python123之字符串压缩#134865

    在Python编程语言中,字符串压缩是一个常见的操作,特别是在处理大量文本数据时,为了节省存储空间,我们会使用压缩算法。本节我们将深入探讨Python中的字符串压缩技术,并以标题"Python123之字符串压缩#134865"为...

    字符串压缩

    标签中的“源码”意味着可能涉及具体实现代码,而“工具”可能是指使用某种编程工具或者库(如Ruby的`zlib`库)来实现字符串压缩功能。对于学习和开发,理解这些基础概念并能实际操作是十分重要的,特别是在处理...

    quicklz cocos2dx 压缩 字符串压缩

    QuickLZ是一款高效的开源压缩库,它在Cocos2d-x框架中被广泛用于字符串压缩。Cocos2d-x是一个跨平台的2D游戏开发框架,支持多种操作系统,包括iOS、Android、Windows等。字符串压缩在游戏开发中非常重要,因为它可以...

    字符串压缩与解压

    本文将深入探讨C#语言中三种实现字符串压缩与解压的方法。 1. **GZipStream** GZipStream是.NET Framework提供的用于压缩和解压缩数据的类,它是基于Gzip文件格式的。要使用GZipStream,我们需要创建一个...

    字符串压缩解压缩.rar

    总之,ZLIB库是字符串压缩和解压缩的一个强大工具,其背后的DEFLATE算法结合了两种高效的方法,既能有效压缩数据,又易于实现。在处理大量文本数据时,合理利用ZLIB库可以显著改善系统性能,降低存储成本。了解和...

    基于压缩后缀数组实现的一个字符串搜索库

    该库的设计思路是将字符串压缩和后缀数组压缩相结合,以创建一个既节省空间又高效的搜索工具。其核心在于压缩后缀数组的构建和查询过程,通过高效的压缩算法降低存储需求,然后利用特定的压缩后缀数组数据结构进行...

    编写函数void fun(char *s,char *t,char *p)将未在字符串s中出现、而在字符串t中出现的字符, 形成一个新的字符串放在p中,p中字符按原字符串中字符顺序排列,但去掉重复字符。

    根据给定的信息,我们需要实现一个C语言函数`void fun(char *s,char *t,char *p)`,该函数的功能是:将未在字符串`s`中出现、而在字符串`t`中出现的字符形成一个新的字符串并存储在指针`p`指向的空间内。新字符串中...

    python字符串压缩.pdf

    Python提供了多种内置库和第三方库来实现字符串的压缩和解压缩功能。以下是关于Python字符串压缩的一些关键知识点: 1. **zlib库**: - `zlib`是Python内置的库,它提供了对`DEFLATE`算法的压缩和解压缩功能,这是...

    LeetCode 面试题 01.06. 字符串压缩

    利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)...

    cpp-smaz小型字符串压缩库

    `cpp-smaz` 是一个基于 `Smaz` 的小型字符串压缩库,专为C++编程语言设计。`Smaz` 是由Paolo Bergantino开发的一个开源压缩算法,它专注于对小字符串进行高效压缩。在处理大量文本数据时,尤其是在内存有限或速度至...

    压缩和解压缩字符串

    以下是一个简单的Deflater压缩字符串的步骤: 1. 创建一个Deflater对象,通常设置一个压缩级别(1-9),1是最快速但压缩率低,9是最慢但压缩率高。 2. 将要压缩的字符串转换为字节数组,例如使用`getBytes()`方法。...

    LabVIEW以字符串倒序形式快速读取文本最后一行.zip

    在编程中,字符串倒序是指将一个字符串中的字符顺序反转,例如原始字符串"Hello"倒序后变为"olleH"。在LabVIEW中,这可以通过数组操作或字符串函数实现。 描述中的链接指向了一篇CSDN博客文章,详细介绍了实现该...

    MFC字符串操作Demo程序.zip

    在本文中,我们将深入探讨MFC(Microsoft Foundation Classes)库中的字符串操作,通过一个实际的Demo程序来展示如何处理各种字符串问题。MFC是微软提供的一套C++类库,用于构建Windows应用程序,它提供了丰富的功能...

    Go-一个简单而快速的Go库用于将输入字符串模糊匹配到目标字符串列表

    标题中的“Go-一个简单而快速的Go库用于将输入字符串模糊匹配到目标字符串列表”表明,这是一个基于Go语言开发的库,其主要功能是实现输入字符串与一系列目标字符串之间的模糊匹配。在文本处理领域,模糊匹配是一种...

    解压Zip字符串(Delphi)

    本主题聚焦于在Delphi环境下使用gZip进行字符串解压,这涉及到两个主要的知识点:一是gZip压缩算法,二是Delphi编程语言中的解压实现。 首先,我们来了解gZip压缩算法。gZip是一种广泛使用的数据压缩格式,基于...

    长字符串压缩bm.zip

    总结来说,Bentley/McIlroy 长字符串压缩算法是数据压缩领域的一个经典方法,其Go语言实现提供了方便的工具供开发人员在实际项目中使用。通过阅读和研究 bm-master 压缩包中的源代码,不仅可以学习到这个算法的原理...

    2014华为机试题目

    本题目要求实现一个字符串压缩功能,即将字符串中连续出现的相同字符压缩成数字加字符的形式。例如,对于字符串 "xxxyyyyyyz",压缩后应得到 "3x6yz"。 **函数接口**: ```cpp void stringZip(const char *...

Global site tag (gtag.js) - Google Analytics