欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

Java游程長度編碼例題和答案

王浩然1年前9瀏覽0評論

Java游程長度編碼(Run-length Encoding)是一種基本的數據壓縮算法,將連續相同的數據用一個計數器和一個標志表示,從而在保存空間的同時保留了原始數據的基本信息。下面是一個基本的Java例題和答案。

public class RunLengthEncoding {
public static void main(String[] args) {
String input = "AAAABBBCCDAA";
String output = encode(input);
System.out.println("Input : " + input);
System.out.println("Output : " + output);
}
private static String encode(String input) {
if (input.length() == 0) {
return "";
}
StringBuilder output = new StringBuilder();
char last = input.charAt(0);
int count = 1;
for (int i = 1; i< input.length(); i++) {
if (input.charAt(i) == last) {
count++;
} else {
output.append(count).append(last);
count = 1;
last = input.charAt(i);
}
}
output.append(count).append(last);
return output.toString();
}
}

上面的示例演示了如何使用游程編碼將字符串"AAAABBBCCDAA"壓縮成"4A3B2C1D2A"。

在這個例子中,我們使用StringBuilder類來構建輸出字符串。通過遍歷輸入字符串并檢查相鄰字符,我們可以計算每個字符的重復計數。一旦我們遇到不同的字符,我們就將計數器和最后一個字符組合成一個新的游程,并將其添加到輸出字符串中。

特別注意,如果輸入字符串為空,則我們應返回一個空字符串輸出。

上一篇hr面試php