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

字节跳动第四题,回溯

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

相关推荐

10-18 13:01
已编辑
西安理工大学 C++
小米内推大使:建议技能还是放上面吧,hr和技术面试官第一眼想看的应该是技能点和他们岗位是否匹配
点赞 评论 收藏
分享
尊尼获获:闺蜜在哪?
点赞 评论 收藏
分享
1 8 评论
分享
牛客网
牛客企业服务