华为OD机试真题目录:真题目录

题目保证都是考过的真题,后几题都是考过很多次的题目

一、一种字符串压缩表示的解压

有一种简易压缩算法:针对全部由小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母,其他
部分保持原样不变。例如:字符串“aaabbccccd”经过压缩成为字符串“3abb4cd”。 请您编写解压函数,根据输入的字符串,输出解压缩后的字符串

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

示例1:
输入
4dff
输出
ddddff

思路:

简单模拟题意的题目

记录倍数ans,如果ans为0,表示字符是1倍;如果不是0,表示ans倍

每次ans清空为0

def solve(str):
    s = ""
    ans=0        #表示数字,也就是字符的压缩倍数
    for c in str:            #从前往后遍历
        r=ord(c)-ord('0')        #这个是表示c对应的数,ord是求字符ascll值的
        if(r>=0 and r<=9):        #表示c是数字字符
 
05-31 13:30