public class StringZip {// 实现简易字符串压缩算法:一个长度最大为128的字符串,由字母a-z或者A-Z组成,将其中连续出现2次以上(含2次)的字母转换为字母和出现次数,以达到压缩目的。//压缩static String stringZip(char[] inputStr) {String stringZip = "";int sum = 1;int i = 0, j = i + 1, len = inputStr.length;while (/* i < len && */j < len) {if (inputStr[i] == inputStr[j]) {sum++;} else {stringZip += inputStr[i];if (sum != 1) {stringZip += sum;}sum = 1;}if (j == len - 1) {stringZip += inputStr[len - 1];if (sum != 1) {stringZip += sum;}}i++;j = i + 1;}return stringZip.trim();}public static void main(String[] args) {String str = "EAAAERRFFFBBB";//EA3ER2F3B3// str ="AESFASS";System.err.println(stringZip(str.toCharArray()));System.err.println(stringUnzip(stringZip(str.toCharArray()).toCharArray()));}//解压static String stringUnzip(char[] inputStr){String stringUnzip = "";int i = 0,len = inputStr.length;while(i<len-1){if(Character.isDigit(inputStr[i+1])){int count = Integer.parseInt(inputStr[i+1]+"");for(int s =0; s< count ;s++){stringUnzip +=inputStr[i];}i=i+2;}else{stringUnzip+=inputStr[i];i++;}    if(i >= len-1){if(!Character.isDigit(inputStr[len-1])){stringUnzip += inputStr[len-1];}}}return stringUnzip;}}

实现简易字符串压缩算法相关推荐

  1. 小红书2019年校园招聘:字符串压缩算法

    字符串压缩算法: 题面: 输入一串字符,请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串. 例如: aac 压缩为 1ac xxxxyyyyyyzbbb 压缩为 3 ...

  2. java 字符串 压缩_用JAVA实现字符串压缩算法

    public class Test3 { /** * 用JAVA实现字符串压缩算法. 将字符串 aaabcdda 编程实现将其转换为 3a1b1c2d1a : * * @param str * 需要转 ...

  3. 字符串压缩算法5.11

    字符串压缩算法 有一种简单的字符串压缩算法,对于字符串中连续出现的同一字符,用该字符加上连续出现的次数来表示(连续出现次数小于3的不压缩). 设计程序,将采用该压缩方法压缩后的字符串解压还原为原字符串 ...

  4. 输入n个字符串字典序排序_FSST - 快速字符串压缩算法

    VLDB: Fast Static Symbol Table (FSST): fast text compression that allows random access 这篇paper提出一种快速 ...

  5. 2019 小红书校招笔试题字符串压缩算法

    时间限制:1秒 空间限制:32768K 1 2 3 4 输入一串字符,请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串. 例如: aac 压缩为 1ac xxxxy ...

  6. java实现字符压缩算法

    public class CompressionAlgorithm1 { /** * @param args * 实现简易字符串压缩算法:一个长度最大为128的字符串, * 由字母a-z或者A-Z组成 ...

  7. 2014年华为7月校招(提前批)的一些题目

    这是华为7月校招(提前批)的一些题目,没有给函数接口,从主函数开始编.每人三道题,机试时间两小时.60分的是第一题,100分的是第二题,160分的是第三题. 1.描述: 实现简易字符串压缩算法:一个长 ...

  8. c语言怎么表示小写字母a到z,C++_C语言字符串快速压缩算法代码,通过键盘输入一串小写字母(a~z - phpStudy...

    C语言字符串快速压缩算法代码 通过键盘输入一串小写字母(a~z)组成的字符串. 请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串. 压缩规则: 1.仅压缩连续重复出 ...

  9. python格式化字符串%r_Python语法速查:3.字符串格式化

    Apple iPhone 11 (A2223) 128GB 黑色 移动联通电信4G手机 双卡双待 4999元包邮 去购买 > (1)简易字符串格式化 字符串属于不可变序列,只能生成新的,不能改变 ...

最新文章

  1. eclipse项目迁移到Android Studio
  2. MySQL常用存储引擎之Federated
  3. 写给初中级前端工程师的进阶指南
  4. C/C++端口复用SO_REUSEADDR(setsockopt参数)
  5. centos查看文件修改历史_Linux环境下查看历史操作命令及清除方法
  6. 内容页超连接关键词的完美实现
  7. 智能优化算法:适应度相关优化算法 - 附代码
  8. windows环境下安装wget
  9. 10万字208道Java经典面试题总结(附答案)
  10. 1.26赛尔号服务器维护时间,赛尔号稀有精灵出现时间大全(完全版)
  11. 阶段性PJ某软件APK
  12. 光滑的圆环(glossy torus)
  13. 【运营】新产品推广流程整理
  14. java成绩五分制转换_绩点五分制换算(5分制的绩点对照表)
  15. 初窥 fastlane 一键打包上传蒲公英平台和App Store
  16. 从顶会层面看科研!计算机顶级会议大盘点!
  17. 有关计算机的英语名言,100句超级简洁但有力量英文励志名言
  18. Java 编译与反编译
  19. opencv之Mat 矩阵的创建
  20. 小数点后几位截取办法

热门文章

  1. 区分指向数组元素的指针、指向数组的指针、指针数组
  2. 华为eNSP:ACL的配置-访问控制技术
  3. 第六讲 Linux字符设备驱动1
  4. java 数组 协变类型6_Java漫谈-协变返回类型
  5. 如何将Word文件转化为Latex文件:word-to-latex-2.56详解
  6. 基于FPGA的八位数字抢答器
  7. Pytorch训练速度更快的十七种方法
  8. 【专题】用ST表解决RMQ刷题总结
  9. 如何从零自学成为前端工程师,怎么学习?怎么选老师?
  10. 【Pytest:Python 单元测试工具学习】