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

字节跳动第四题,回溯

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

相关推荐

11-05 07:29
贵州大学 Java
点赞 评论 收藏
分享
10-30 10:16
南京大学 Java
龚至诚:给南大✌️跪了
点赞 评论 收藏
分享
1 8 评论
分享
牛客网
牛客企业服务