java字符串压缩算法怎么实现

avatar
作者
猴君
阅读量:0

Java字符串的压缩算法可以采用一种简单的方法,即统计连续重复字符的个数并将其替换为字符和重复次数的组合。下面是一个示例实现:

public class StringCompression {     public static String compress(String str) {         StringBuilder compressed = new StringBuilder();         int countConsecutive = 0;                  for (int i = 0; i < str.length(); i++) {             countConsecutive++;                          if (i + 1 >= str.length() || str.charAt(i) != str.charAt(i + 1)) {                 compressed.append(str.charAt(i));                 compressed.append(countConsecutive);                 countConsecutive = 0;             }         }                  return compressed.length() < str.length() ? compressed.toString() : str;     }          public static void main(String[] args) {         String str = "aaabbbcccdddeee";         String compressedStr = compress(str);                  System.out.println("Original string: " + str);         System.out.println("Compressed string: " + compressedStr);     } } 

在上面的示例中,compress方法会遍历输入字符串并统计连续重复字符的个数,然后将字符和重复次数的组合添加到新的StringBuilder中。最后,返回压缩后的字符串,如果压缩后的字符串长度小于原字符串,则返回压缩后的字符串,否则返回原字符串。

通过这种简单的压缩算法,可以有效地将字符串进行压缩,减少其占用的空间。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!