gpt4 book ai didi

java - 压缩超过 2 个循环的字符串

转载 作者:行者123 更新时间:2023-11-30 11:12:55 25 4
gpt4 key购买 nike

使用 java 和循环压缩字符串的方法。例如,如果 dc = "aabbbccaaaaba,则 c = "aab3cca4ba"这是我目前所知道的。请帮助/指导。谢谢。

        int cnt = 1;
String ans = "";
for (int i = 0; i < dc.length(); i++) {
if ((i < dc.length()) && (dc.charAt(i) == dc.charAt(i++)) && (dc.charAt(i) == dc.charAt(i+=2))){
cnt++;
ans = ans + dc.charAt(i) + cnt;
}
else
ans = ans + dc.charAt(i);

setC(ans);

最佳答案

除非您仅限于使用 for 循环,否则我相信这可以解决问题:

String sb = "";
for (int i = 0; i < dc.length(); i++) {
char c = dc.charAt(i);
int count = 1;
while (i + 1 < dc.length() && (dc.charAt(i + 1)) == c) {
count++;
i++;
}
if (count > 1) {
sb += count;
}
sb += c;
}

System.out.println(sb);

编辑:将示例更改为使用常规 String 而不是 StringBuilder。但是,我强烈建议不要以这种方式连接字符串,尤其是当您尝试压缩的字符串很长时。

关于java - 压缩超过 2 个循环的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26665241/

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