题解 | #字符串合并处理#

字符串合并处理

http://www.nowcoder.com/practice/d3d8e23870584782b3dd48f26cb39c8f

def step_1(a,b):#第一步操作
    c=str(a)+str(b)
    return c

def step_2(a):#第二步操作
    odd=[]
    even=[]
    for i in range(len(a)):
        if i%2 == 0:
            even.append(a[i])
        else:
            odd.append(a[i])
    odd=sorted(odd)
    even=sorted(even)
    b=[]
    for i in range(len(a)):
        if i%2 ==0:
            j=int(i/2)
            b.append(even[j])
        else:
            j=int((i-1)/2)
            b.append(odd[j])
    c=''.join(b)
    return str(c)

def step_3(a):#第三步操作
    dic=['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
    f=''
    for i in a:
        if i.isdigit() :
            b=bin(int(i))[2:].zfill(4)
            c=b[::-1]
            d=int(c,2)
            e=dic[d]
            f+=str(e)
        elif i.isalpha() and i.upper() in dic:
            for j in range(len(dic)):
                if dic[j]==i.upper():
                    b=bin(j)[2:].zfill(4)
                    break
            c=b[::-1]
            d=int(c,2)
            e=dic[d]
            f+=str(e) 
        else:
            f+=str(i)
    return f

str_1,str_2=input().split()
str_3=step_1(str_1,str_2)
str_4=step_2(str_3)
str_5=step_3(str_4)
print(str_5)
全部评论

相关推荐

05-18 12:59
已编辑
东南大学 人工智能
夜晚的精灵:熟悉transformer架构,熟悉机器学习,强化学习这些都可以写上去
点赞 评论 收藏
分享
03-26 13:04
已编辑
电子科技大学 算法工程师
xiaowl:你这个简历“条目上”都比较有深度性,但是实际上面试官又没法很好的评估你是怎么达到很多看上去很厉害的结果的。要避免一些看上去很厉害的包装,比如高效的内存复用策略的表达,如果仅是简单的一些内存共享机制,而且面试上也没有深挖的空间,就不要这样表达。比如,工程化模式本质上可能就是定义了一些abstract class,那也就没特别多值得讲的内容。建议简历上应该侧重那些你花了大量时间和精力解决、研究的问题,不要过分追求“丰富”,而是关注在技术深入度、问题解决能力的表现上。
没有实习经历,还有机会进...
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务