首页 > 其他 > 详细

火车编组

时间:2021-03-29 20:40:37      阅读:26      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 

 

  其实就是栈操作能否按照给定顺序输出

 public static String getResult(int[] res){
        if (res.length <= 2){
            return "Yes";
        }
        Deque<Integer> de = new LinkedList<>();
        int s = 1;
        int k = res[0];
        de.push(1);
        boolean[] flag = new boolean[res.length];
        while (de.peek() != k){
            flag[s-1] = true;
            de.push(++s);
        }
        for (int i = 0; i < res.length; i++) {
            int t = res[i];
            if (de.isEmpty()){
                de.push(t);
                flag[t-1] = true;
            }else if (t == de.peek()){
                de.pop();
            }else {
                if (flag[t-1]){
                    return "No";
                }
                de.push(t);
                flag[t-1] = true;
            }

        }

        return "Yes";



    }

 

火车编组

原文:https://www.cnblogs.com/hetutu-5238/p/14593722.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!