题解 | #火车进站#

火车进站

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

res = []

def dfs(wait, stack, out):
    if not wait and not stack:
        res.append(' '.join(map(str, out)))
    if wait: # 入栈
        dfs(wait[1:], stack + [wait[0]], out)
    if stack: # 出栈
        dfs(wait, stack[:-1], out + [stack[-1]])

while True:
    try:
        n, nums = int(input()), list(map(int, input().split()))
        dfs(nums, [], [])
        for i in sorted(res):
            print(i)
    except:
        break
全部评论
刚学python没多久,这题说是中等难度,但是对我来说是很难的,大佬的代码看是看懂了,但算法原理还是不太懂。
6 回复 分享
发布于 2022-07-31 18:42
这思路太牛逼了,就是看不懂
5 回复 分享
发布于 2022-06-05 17:01
你好作者,一个小小的问题,既然dfs()输出之前要把out转成str,为什么不直接在一开始获取input()内容的时候直接保留str格式的['1','2','3']呢?
4 回复 分享
发布于 2022-03-02 17:24
第一组res得到之后,第三个if条件并不满足,为什么还能执行下面的内容呢?
3 回复 分享
发布于 2022-04-11 10:48
越刷越没信心了。刷这玩意干啥啊
2 回复 分享
发布于 2023-03-05 20:18 陕西
你这个递归,真的是出神入化呀
1 回复 分享
发布于 2023-12-19 22:03 四川
没看懂
1 回复 分享
发布于 2022-07-23 23:31
递归真的很神奇,莫名其妙就把问题解决了,计算机的魅力!
点赞 回复 分享
发布于 2024-02-27 20:56 广东
非常厉害,有没有谁能出个解释,我给绕晕了。最后为什么把res排了序
点赞 回复 分享
发布于 2023-06-20 18:10 北京
丫的,看了你的代码,感觉就是我想象中最理想的思路,自己想了半天硬是没有转过弯来
点赞 回复 分享
发布于 2023-05-12 16:57 贵州
厉害
点赞 回复 分享
发布于 2023-05-12 15:09 香港
咋样了大佬。
点赞 回复 分享
发布于 2023-04-03 21:04 陕西
插眼
点赞 回复 分享
发布于 2022-05-11 16:36
太妙了
点赞 回复 分享
发布于 2022-05-08 15:08
这思路太他妈牛逼了啊 绝对的大佬
点赞 回复 分享
发布于 2022-04-26 08:54
种子
点赞 回复 分享
发布于 2022-01-21 17:02
妙啊
点赞 回复 分享
发布于 2021-12-08 01:29

相关推荐

明天不下雨了_人机版:让我们大声的说出来:以前的未来就是现在
点赞 评论 收藏
分享
Java抽象带篮子:简历怎么写可以看看我发的帖子,你的第一个是实习经历吗?那怎么写的是你的第一个练手项目呢?简历写的怎么样直接投小厂面试一下就知道了
没有实习经历,还有机会进...
点赞 评论 收藏
分享
不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
评论
104
43
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务