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面试的专属专栏,我会把自己的解法更新在里面,我会尽量写清楚自己的思路以及多写关键注释,希望对阅读的人有帮助~~~

全部评论

相关推荐

2024-11-26 00:10
门头沟学院 Java
chenxinxu:现在招聘的都学精了,你光学点数据库和中间件做个应用型项目人家看不上,你得有点可以“吹水”的高谈阔论的“高大上”的玩意,比如写点什么“基于分布式 Raft 共识性算法的XXX”balabala 的,然后做了什么详尽的 benchmark 怎么优化的吞吐率性能之类的,看起来就是科研论文研究领域。现在人不都这样吗,他知道的知识都是白菜,他不知道的领域都是高端,找点让大部分人看起来高端的玩意写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务