gpt4 book ai didi

java - 分割该字符串以获得相应字符的最大计数

转载 作者:行者123 更新时间:2023-12-01 19:38:50 24 4
gpt4 key购买 nike

我目前正在为文本压缩实现运行长度编码,我的算法确实返回以下形式的字符串:

假设我们有一个字符串作为输入

"AAAAABBBBCCCCCCCC"

然后我的算法返回

"1A2A3A4A5A1B2B3B4B1C2C3C4C5C6C7C8C"

现在我想应用Java String split来解决这个问题,因为我想得到与字符对应的最大数字。对于我们的示例来说,它是

"5A4B8C"

我的功能如下所示

public String getStrfinal(){

String result = "";
int counter = 1;
StringBuilder sb = new StringBuilder();
sb.append("");
for (int i=0;i<str.length()-1;i++) {
char c = str.charAt(i);
if (str.charAt(i)==str.charAt(i+1)) {
counter++;
sb.append(counter);
sb.append(c);
}
else {
counter = 1;
continue;
}
}
result = sb.toString();
return result;
}

最佳答案

public static String getStrfinal(){

StringBuilder sb = new StringBuilder();

char last = 0;
int count = 0;
for(int i = 0; i < str.length(); i++) {

if(i > 0 && last != str.charAt(i)) {
sb.append(count + "" + last);
last = 0;
count = 1;
}
else {
count++;
}

last = str.charAt(i);

}
sb.append(count + "" + last);
return sb.toString();
}

关于java - 分割该字符串以获得相应字符的最大计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56200680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com