华为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是数字字符