华为OD机试-- 一种字符串压缩表示的解压

255 阅读2分钟

有一种简易压缩算法:针对全部为小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母,其他部分保持原样不变。 例如字符串aaabbccccd 经过压缩变成字符串 3abb4cd 请您编写解压函数,根据输入的字符串, 判断其是否为合法压缩过的字符串 若输入合法则输出解压缩后的字符串 否则输出字符串!error来报告错误

输入描述:

输入一行,为一个 ASCII 字符串 长度不超过100字符 用例保证输出的字符串长度也不会超过100字符串

输出描述:

若判断输入为合法的经过压缩后的字符串 则输出压缩前的字符串 若输入不合法 则输出字符串!error

示例1:

输入:

4dff

输出

ddddff

说明

4d扩展为dddd,故解压后的字符串为ddddff.

 

示例2:

输入:

2dff

输出

!error

说明

两个d不需要压缩,故输入不合法

示例3:

输入:

4d@A

输出

!error

说明

全部由小写英文字母组成的字符串压缩后不会出现特殊字符@和大写字母A,故输入不合法。

Java 实现:2023华为OD机试真题B卷 Java 实现【一种字符串压缩表示的解压】

Python实现:2023华为OD机试真题B卷 Python 实现【一种字符串压缩表示的解压】

C++ 实现:2023华为OD机试真题B卷 C++ 实现【一种字符串压缩表示的解压】

JavaScript实现:2023华为OD机试真题B卷 JavaScript 实现【一种字符串压缩表示的解压】

C实现:2023 华为OD机试(C语言)真题【A卷+B卷】

01c7055a09a34ca80121985ca86200.jpg@1280w_1l_2o_100sh.jpg