昨天,做了华为技术类笔试题,感叹自己的编程能力和思维还是差太远。每次面试或者笔试的时候就感觉思维能力处于下降一级的状态,回顾一下昨天的笔试题。
第一道是字符串替换的,用c++写了半天,和数组争斗了好久,还是有溢出问题。
改用python相对容易一些,不需要考虑数组长度的问题。
题目大致描述如下:
输入输出格式为:第一个字符为输入或输出字符的长度(包含该位置),随后的字符中若出现‘A’,则在输出中将它替换成‘12 34’,;若出现‘B’,将它替换成‘AB CD’;其他字符保持不变。
示例:
输入:
8 1 2 3 4 5 6 A |
输出:
9 1 2 3 4 5 6 12 34 |
python实现:
import re if __name__=='__main__': s=input() l=0 if 'A' in s: s=re.sub('A','12 34',s) if 'B' in s: s=re.sub('B','AB CD',s) l=len(s.split(' ')) print(l,s[1:])
如有疑问,欢迎留言讨论!!!