题解 | #火车进站#

火车进站

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

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    // Write your code here
    const inputs = [];
    while ((line = await readline())) {
        inputs.push(line.split(" "));
    }
    let arr = inputs[1];
    const res = [];
    const len = arr.length;
    const loop = (innerList, waitingList, resList) => {
        if (resList.length == len) {
            res.push(resList);
            return;
        }
        let temp = [...waitingList];
        let cur = temp.shift();
        let resTemp = [...resList];
        // console.log([...innerList, cur], temp, resList);
        // console.log(innerTemp, waitingList, resTemp);
        if (waitingList.length) {
            // 进
            loop([...innerList, cur], temp, resList);
        }
        if (innerList.length) {
            let innerTemp = [...innerList];
            let outCur = innerTemp.pop();
            resTemp.push(outCur);
            // 出
            loop(innerTemp, waitingList, resTemp);
        }
    };
    loop([], arr, []);
    res.sort().forEach(i=>{
        console.log(i.join(" "))
    })
})();

全部评论

相关推荐

Java大菜狗:纯纯招黑奴,一天还不到两百那么多要求,还不迟到早退,以为啥啊,给一点工资做一堆活,还以不拖欠员工工资为荣,这是什么值得骄傲的事情吗,纯纯***公司
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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