字节跳动笔试第四题,回溯

字节跳动第四题,回溯

num = list(input().strip())

lyst = [i for i in range(1,27)]
alpha = [i for i in range(65, 91)]
dyct = {str(lyst[i]): chr(alpha[i]) for i in range(len(lyst))}

def bt(num, tmp):
    if not num:
        res.append([tmp])
        return 
    if int(num[:1]) > 0:
        bt(num[1:], tmp+dyct[num[:1]])
    if len(num) > 1 and num[:2] in dyct:
        bt(num[2:], tmp+dyct[num[:2]])

res = []
bt(''.join(num), '')
res.sort()
for i in res:
    print(i[0])
#笔试题目##字节跳动#
全部评论
我菜到哭了,套了dp求总编码数+回溯求解所有路径,太繁琐了
点赞 回复 分享
发布于 2019-09-09 01:58

相关推荐

联通 技术人员 总包不低于12
点赞 评论 收藏
分享
我已成为0offer的糕手:别惯着,胆子都是练出来的,这里认怂了,那以后被裁应届被拖工资还敢抗争?
点赞 评论 收藏
分享
尊嘟假嘟点击就送:加v细说,问题很大
点赞 评论 收藏
分享
1 8 评论
分享
牛客网
牛客企业服务