华为2020秋招笔试回顾----技术类笔试第一题

昨天,做了华为技术类笔试题,感叹自己的编程能力和思维还是差太远。每次面试或者笔试的时候就感觉思维能力处于下降一级的状态,回顾一下昨天的笔试题。

第一道是字符串替换的,用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:])

 

如有疑问,欢迎留言讨论!!!

你可能感兴趣的:(华为2020秋招笔试回顾----技术类笔试第一题)