题解 | #火车进站#

火车进站

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(" "))
    })
})();

全部评论

相关推荐

06-03 12:12
门头沟学院 Java
JamesGosli...:odoo就是💩
点赞 评论 收藏
分享
机械打工仔:我来告诉你原因,是因为sobb有在线简历,有些HR为了快会直接先看在线简历,初步感觉不合适就不会找你要详细的了
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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