共計 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 網 – 提供最優質的資源集合!
正文完
發表至: Java
2024-05-27