HJ77 题解 | #火车进站#

火车进站

https://www.nowcoder.com/practice/97ba57c35e9f4749826dc3befaeae109

#参考了BSF的题解
#思路:深度优先搜索每一种走法,搜索完毕之后存到列表中

res = []#结果
#深搜
def dfs(wait, stack, out):#参数为等待进栈列表、栈列表、已出栈列表
    if not wait and not stack:#等待进栈为空且栈为空,全部已经出栈,将出栈列表转化为结果
        res.append(' '.join([str(i) for i in out]))
    if wait: #等待进栈不为空,可以进栈
        dfs(wait[1:], stack + [wait[0]], out)
    if stack: #栈不为空,可以出栈
        dfs(wait, stack[:-1], out + [stack[-1]])

n=int(input())
nums=[int(i) for i in input().split()]
dfs(nums, [], [])
for i in sorted(res):
    print(i)

#华为机试##华为##华为od##华为od机试#
华为HJ103所有解法 文章被收录于专栏

这是我准备华为od面试的专属专栏,我会把自己的解法更新在里面,我会尽量写清楚自己的思路以及多写关键注释,希望对阅读的人有帮助~~~

全部评论

相关推荐

05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务