激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 使用游長編碼對字符串壓縮 Run Length編碼示例

使用游長編碼對字符串壓縮 Run Length編碼示例

2019-11-04 14:18java教程網 JAVA教程

這篇文章主要介紹了Run Length編碼的一個示例,大家參考使用吧

例:Helloooooo => He2l6o

 

復制代碼代碼如下:


/**
 * Run-Length編碼(游長編碼)
 * @author will
 *
 */
public class RunLengthEncoder {

 public static void main(String[] args) {  
  String input = "0";

  System.out.println("Original String Length: " + input.length());

  String encodedStr = encode(input);
  System.out.println("Encoded String: " + encodedStr);
  System.out.println("Encoded String Length: " + encodedStr.length());

  String decodedStr = decode(encodedStr);
  System.out.println("Decoded String: " + decodedStr);
 }

 /**
  * 用Run-Length算法編碼字符串
  * @param sourceStr 原始字符串
  * @return
  */
 public static String encode(String sourceStr) {
  if(sourceStr == null || sourceStr.length() <= 1) {
   return sourceStr;
  }

  int len = sourceStr.length();
  StringBuilder resultBuilder = new StringBuilder();
  for(int i = 0; i < len; i++) {
   char cur = sourceStr.charAt(i);
   int runLength = 1;
   while((i+1) < len && sourceStr.charAt(i+1) == cur) {
    i++;
    runLength++;
   }

   if(runLength > 1) {
    resultBuilder.append(runLength + "" + cur);
   }
   else {
    resultBuilder.append(cur);
   }
  }

  return resultBuilder.toString();
 }

 /**
  * 解碼Run-Length編碼的字符串
  * @param encodedStr
  * @return
  */
 public static String decode(String encodedStr) {
  if(encodedStr == null || encodedStr.length() <= 1) {
   return encodedStr;
  }

  int len = encodedStr.length();
  StringBuilder resultBuilder = new StringBuilder();
  for(int i = 0; i < len; i++) {
   char curChar = encodedStr.charAt(i);
   if(Character.isDigit(curChar)) {
    i++;
    char nextChar = encodedStr.charAt(i);
    int runLength = Integer.parseInt(curChar + "");
    for(int j = 0; j < runLength; j++) {
     resultBuilder.append(nextChar);
    }
   }
   else {
    resultBuilder.append(curChar);
   }
  }

  return resultBuilder.toString();
 }

 

}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91av资源在线 | 在线a亚洲视频播放在线观看 | 成人做爰高潮片免费视频韩国 | 九九热精品在线 | 国产亚洲高清视频 | 成人毛片免费视频 | 中文字幕在线永久 | 国产一区二区在线观看视频 | 久久久久久艹 | 337p粉嫩大胆噜噜噜亚瑟影院 | 黄色网页在线观看 | 黑人三级毛片 | 久操伊人 | 午夜精品久久久久久久96蜜桃 | 中文字幕网在线 | 99精品视频在线 | 国产在线久 | 亚洲第一页夜 | 欧美日韩亚洲在线观看 | 亚洲国产精品久久久久 | 一区二区三高清 | 国产亚洲美女精品久久久2020 | 一级黄色毛片播放 | 日本高清一级片 | 原来神马影院手机版免费 | 国产盼盼私拍福利视频99 | 久久精品一区二区三区四区五区 | 中国女人内谢8xxxxxx在 | 久草在线精品观看 | 日本精品久久久一区二区三区 | 欧美特一级 | 男女羞羞视频在线免费观看 | 亚洲欧洲av在线 | 国产影视| av免费在线观看国产 | 福利免费在线观看 | 黄色网址在线免费播放 | va视频在线 | 久久精品中文字幕一区二区三区 | 欧美成人一区二区三区电影 | 欧美成人se01短视频在线看 |