求一个字符串压缩的代码。

问题描述

例:输入iteye,输出e2i1t1y1zhongguo --> g2h1n1o2u1z1

解决方案

我有一个高效的package com.algorithm.compress;import java.util.Scanner;public class CountTimeOfChar {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一串字母:");String input = sc.next();int[] count = new int[26];char[] chars = input.toCharArray();//(字母 & 31 ) 可以算出他是第几个字母for(int i = 0, len = chars.length; i < len; count[(chars[i ++] & 31) - 1] ++);//计算每种字符在输入的字符串中出现的次数for(int j = 0, len = count.length; j < len; j ++) {if(count[j] != 0) {System.out.print((char) ('a' + j));System.out.print(count[j]);}}System.out.println();}}
解决方案二:
你这个是统计字符数量http://download.csdn.net/download/hexiang221/1994808http://www.docin.com/p-492662254.html
解决方案三:
如果这是压缩算法,该如何解压??不能解压还原,还有神马意义呢?
解决方案四:
static class Letter implements Comparable<Letter> {char ch;int count;public Letter(char ch, int count) {super();this.ch = ch;this.count = count;}public void increase() {count++;}public String toString() {return ch + "" + count;}public int compareTo(Letter o) {if (this.count > o.count)return -1;else if (this.count < o.count)return 1;if (this.ch > o.ch)return 1;else if (this.ch < o.ch)return -1;return 0;}}public static String statistic(String s) {HashMap<Character, Integer> count = new HashMap<Character, Integer>();int n = s.length();for (int i = 0; i < n; i++) {Character ch = s.charAt(i);Integer c = count.get(ch);if (c == null) {count.put(ch, 1);} else {count.put(ch, c + 1);}}int m=count.size();Letter[] arr=new Letter[m];int index=0;for(Entry<Character, Integer> e:count.entrySet()){arr[index++]=new Letter(e.getKey(), e.getValue());}Arrays.sort(arr);StringBuilder sb = new StringBuilder(n * 2);for (Letter letter:arr) {sb.append(letter);}return sb.toString();}
解决方案五:
这个只是简单的统计吧
解决方案六:
问非所问,答非所答
解决方案七:
这是字符串压缩吗?明显是字符统计啊

时间: 2024-07-31 02:45:19

求一个字符串压缩的代码。的相关文章

求一个字符串编辑成为另一个字符串的最少操作数

原题链接: http://oj.leetcode.com/problems/edit-distance/ 这道题求一个字符串编辑成为另一个字符串的最少操作数,操作包括添加,删除或者替换一个字符.这道题难度是比较大的,用常规思路出来的方法一般都是brute force,而且还不一定正确.这其实是一道二维动态规划的题目,模型上确实不容易看出来,下面我们来说说递推式. 我们维护的变量res[i][j]表示的是word1的前i个字符和word2的前j个字符编辑的最少操作数是多少.假设我们拥有res[i]

求一个字符串中连续出现次数最多的子串

解题思路 例如字符串"abababc",最多连续出现的为ab,连续出现三次.要和求一个字符串中的最长重复子串区分开来,还是上面的字符串,那么最长的重复子串为abab.两个题目的解法有些类似,都用到了后缀数组这个数据结构.求一个字符串中连续出现的次数最多的子串,首先生成后缀数组例如上面的字符串为: abababc bababc ababc babc abc bc c 可以看出第一个后缀数组和第三个后缀数组的起始都为ab,第5个后缀数组也为ab.可以看出规律来,一个字符串s,如果第一次出现

app耗流量大 让我做一个字符串压缩的功能

问题描述 app耗流量大 让我做一个字符串压缩的功能 百度来的方法 不好使呢 有的压了 有的怎么又变大了 求救啊 java的 解决方案 字符串压缩算法不一定在任何情况下都能压缩文本,这和你用压缩软件压缩不同的文件,得到的压缩比不同.重复压缩文件不会有效是一个道理. 具体要贴出你的测试数据才能知道你的压缩算法本身是否足够有效了.

求一个张量投票的代码,可实现对断线的连接,matlab或者c++代码均可

问题描述 求一个张量投票的代码,可实现对断线的连接,matlab或者c++代码均可 输入的图像特点为:黑色背景,白色线段(线段有断开).matlab或者c++代码都行的,求大神.. 解决方案 不会..帮顶..??

求一个图像处理的开源代码

问题描述 求一个图像处理的开源代码 背景: 导师要求找一个图像处理相关的源代码,要求1万行左右,C++写的. 希望大大们能给点意见啊···· 解决方案 要看你是要求哪些图像处理算法,这样才好找啊. 解决方案二: 这样的源代码多如牛毛,而且因为你的目标是"逆向工程研究",从这个价值而不是图像处理源代码本身的价值来看,你的选择余地很大.github上有很多很多这样的代码. 解决方案三: 问题说的不是很清楚,先要求找源代码,但是又提到逆向工程(一般指的是对二进制文件进行反编译),所以不太清楚

求一个产品滚动效果代码

问题描述 求一个获取图片滚动的代码,想弄一个新品滚动的效果,但都解决方案二:#,就像http://www.360buy.com/中的新品上架那种翻屏改动的效果. 解决方案 解决方案三:上海互通网络5.1盛大促销!所有用户(包括代理)!购买1G空间联系客服免费赠送1个CN国际域名!最终解释权归上海互通网络科技有限公司所有!详情请访问:QQ:287895593解决方案四:<script>varmarqueeContent=newArray();//滚动新闻marqueeContent[0]='&l

求一个网站访问量的代码 要有登陆IP 时间和访问量

问题描述 请给我代码好吗最近比较急50分 解决方案 解决方案二:www.51.lacnzz.com申请一个,把代码放你网站里面,解决方案三:要自己统计?用cookie或xML来记录都可以了.解决方案四:引用1楼stayalive的回复: www.51.lacnzz.com申请一个,把代码放你网站里面, 解决方案五:代码解决方案六:引用3楼xocom的回复: 引用1楼stayalive的回复:www.51.lacnzz.com申请一个,把代码放你网站里面, 解决方案七:只会自己统计,写入数据库或者

求一个逼近算法java代码怎么写啊

问题描述 题目:发现一种混合金属含Ag为10mg/kg,已知此种混合金属由n(n是随机变量)种标准金属混合而成,标准金属中的Ag含量已知,请计算出组成此混合金属的n种标准金属的含量?没得啥思路,求高手帮忙 解决方案 解决方案二:没怎么看明白.已经Ag含量是10mg/kg,那么n种金属的含量不就是(1kg-10mg)/kg么?解决方案三:lz是想求n种标准金属每一种的含量吧.

php字符串压缩方法比较示例

 php 提供的字符串压缩方法有很多,下面为大家比较下php字符串压缩方法,感兴趣的朋友可以参考下 php 提供的字符串压缩方法有    1.gzcompress - Compress a string    This function compress the given string using the ZLIB data format.    2.gzencode - Create a gzip compressed string    This function returns a co