题解 | #火车进站#

火车进站

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

res = []
def rec(wait,inline,outline):
    if wait == [] and inline == []:#若等候进站和已进站队列都空 则输出结果
        res.append(' '.join(map(str,outline)))
    if wait !=[]:                  #只要等候进站队列不为空, 则可以选择进站(进站边界条件)
        rec(wait[1:],inline+[wait[0]],outline)
    if inline !=[]:                #只要进站队列不为空,则可以出站(出站边界条件)
        rec(wait,inline[:-1],outline+[inline[-1]])

while True:
    try:
        n,nums=int(input()),list(map(int,input().split()))
        rec(nums,[],[])
        res =sorted(res)
        for i in res:
            print(i)
    except:
        break

高赞答案nb,我将他的if not,和if条件省略的东西补全,方便新手理解。

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-11 13:34
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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