题解 | #火车进站# 相对简单

火车进站

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

import java.util.*;
public class Main{
    public static TreeSet<String> res = new TreeSet<>();
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int N = Integer.valueOf(sc.nextLine());
        String input = sc.nextLine();
        String[] vals = input.split(" ");
        LinkedList<String> ll = new LinkedList<String>();
        LinkedList<String> temp = new LinkedList<String>();
        int i=0,j=0;
        traceBack(vals,ll,temp,i,j);
        printResult();
    }
    //train表示火车站中的火车,in表示进站的计数,out表示出站的计数,ll表示出站的序列
    public static void traceBack(String[] vals,LinkedList<String> ll,LinkedList<String> train,int in,int out){
        int len = vals.length;
        if( in == len && out == len){ 
            StringBuffer sb = new StringBuffer();
            for(int i=0;i<len;i++){
                if(i > 0){
                    sb.append(" ");
                }
                sb.append(ll.get(i));
            }
            res.add(sb.toString());
            return;
        }
        if( in != len){
            train.add(vals[in]);
            traceBack(vals,ll,train,in+1,out);
            train.removeLast();
        }
        if( !train.isEmpty()){
            String mid = train.removeLast();
            ll.add(mid);
            traceBack(vals,ll,train,in,out+1);
            ll.removeLast();
            train.add(mid);
        }
        
    }
    public static void printResult(){
        for(String x: res){
            System.out.println(x);
        }
    }
}

全部评论

相关推荐

昨天 22:07
已编辑
华中师范大学 Java
多多啊&nbsp;多多啊&nbsp;上来四道算法题算法题直播排序,整体比较简单把对象写出来,然后比较规则写明白就OK了。唯一一道A100%的电车充电如何最省钱,到目的地如何充电的钱最少,路上有充电站,每个电站价格不一样。用了DP来做,但感觉是贪心的样子,最后没招了,把不能到的情况给干了出来,过了8%日志分析纠错,滑动窗口,但我最后结果永远少一,过了15%没看,力竭了燃尽了多多&nbsp;以后牛客不用后台找我了,笔试夯爆了----------------3.18&nbsp;流程终止----------以后不用pdd了&nbsp;&nbsp;立即卸载
淮竹c:不好意思,打扰大家🙏我是一个拼多多骑手,小电驴的最大电量为C,我的最大电量有1e9这么promax😭😭😭需要从x=0处走到x=L,L足足有1e9那么长处,途中有n个充电站,🙏🙏每个充电站的距离和电价分别为di和pi,初始电量是满的😭😭😭请告诉我到达终点最少要花多少钱😭😭😭求求大家把这些钱转给我
查看2道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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