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

20次阅读
没有评论

共计 825 个字符,预计需要花费 3 分钟才能阅读完成。

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 中。最后,返回压缩后的字符串,如果压缩后的字符串长度小于原字符串,则返回压缩后的字符串,否则返回原字符串。

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

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2024-05-27发表,共计825字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)