#HLOI2025B. 【HLOI2025】字符串压缩
【HLOI2025】字符串压缩
题目描述
编写一个程序,实现字符串的压缩算法。具体要求如下:
- 输入:一个由小写字母组成的非空字符串
s(长度不超过 1000)。 - 输出:若压缩后的字符串长度小于原字符串,则输出压缩后的字符串;否则输出原字符串。
- 压缩规则:将连续相同的字符替换为 字符+出现次数。例如:
- 输入
aaabcc→ 输出a3b1c2 - 输入
aabbaaaaa→ 输出a2b2a5
- 输入
注意:
- 若压缩后的字符串长度与原字符串相等或更长,必须返回原字符串。
- 单个字符(如
a)需压缩为a1。
输入格式
输入一行,包含一个仅由小写字母组成的字符串 s。
输出格式
输出压缩后的结果字符串或原字符串(根据长度比较)。
输入输出样例
样例1
输入:
aaabcc
输出:
a3b1c2
样例2
输入:
abc
输出:
abc
解释:原字符串长度为 3,压缩后为 a1b1c1(长度 6),故返回原字符串。
样例3
输入:
aabbaaaaa
输出:
a2b2a5
样例4
输入:
a
输出:
a
样例5
输入:
aaaaa
输出:
a5
提示
- 字符串长度范围:
1 ≤ |s| ≤ 1000。 - 压缩时需遍历字符串并统计连续字符的次数。
- 若压缩后长度未减少,必须返回原字符串。