华为OD在线OJ:
已购买本专栏用户,请私信博主开通账号,在线刷题!!!
在线OJ:立即刷题
题库专栏:2023华为OD机试(A卷+B卷)(C++JavaJSPy)
题目 简易压缩算法
有一种简易压缩算法:针对全部为小写英文字母组成的字符串, 将其中连续超过两个相同字母的部分压缩为连续个数加该字母 其他部分保持原样不变.
例如字符串aaabbccccd
经过压缩变成字符串3abb4cd
请您编写解压函数,根据输入的字符串,
判断其是否为合法压缩过的字符串
- 若输入合法则输出解压缩后的字符串
- 否则输出字符串
!error
来报告错误
输入
输入一行,为一个 ASCII 字符串
长度不超过
100
字符用例保证输出的字符串长度也不会超过
100
字符串
输出
若判断输入为合法的经过压缩后的字符串
则输出压缩前的字符串
若输入不合法 则输出字符串
!error
ACM输入输出模式
如果你经常使用Leetcode,会知道letcode是不需要编写输入输出函数的。但是华为OD机考使用的是 ACM 模式,需要手动编写输入和输出。
所以最好在牛-客上提前熟悉这种模式。例如C++使用cin/cout
,python使用input()/print()
。JavaScript使用node的readline()
和console.log()
。Java 使用sacnner/system.out.print()
用例一
输入
4dff
输出
ddddff
说明
4d 扩展为 4 个 d ,故解压后的字符串为 ddddff
用例二
输入
2dff
输出
!error
说明