java如何实现字符串压缩
短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
使用双指针进行字符串压缩
实例:
public static void zipStr(String str) {
char[] c = str.toCharArray();
int index = 0;
int num = 1;
int len = c.length;
while (index < len - 1) {
while (c[index] == c[index + 1]) {
num++;
index++;
if (index >= len - 1) {
break;
}
}
System.out.print(c[index]);
System.out.print(num);
num = 1;
index++;
}
}
结果如图:
(推荐教程:java快速入门)
说明:该方法对于形如(aaabbbccc)的字符串进行压缩,压缩结果为a3b3c3,但是对于形如(acaadbbbcceeeffffff)压缩结果则为a1c1a2d1b3c2e3f6,显然这种结果是不合理的,因此接下来运用HashMap进行字符串压缩
使用HashMap进行字符串压缩
实例:
public static HashMap fun1(String str) {
HashMap map = new HashMap();
char[] c = str.toCharArray();
for (int i = 0; i < c.length; i++) {
Integer count = map.get(c[i]);//此处的count的类型一定要为Integer,如果为int类型,则count值为0
if (!map.containsKey(c[i])) {
map.put(c[i], 1);
} else {
map.put(c[i], count + 1);
}
}
return map;
}
结果如图:
相关视频教程推荐:java视频教程
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341