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

字节跳动第四题,回溯

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

相关推荐

03-20 12:22
门头沟学院 Java
牛客998737654号:没有hc了吧,但是我接到到后端的面试邀请
投递美团等公司6个岗位
点赞 评论 收藏
分享
RickieOne:还有一个面试,上来就笔试算法 1️⃣ 字符串分割不能用 split ,ab&&c,根据&&放到数组上 2️⃣a 到 z 的全部组合情况,包括 a...z 3️⃣多线程,同时打印 1-200 4️⃣sql 代码 考分组 聚合 平均结合 小厂也这样吗,然后就八股 再拷打项目
点赞 评论 收藏
分享
评论
1
8
分享

创作者周榜

更多
牛客网
牛客企业服务