火车编组

 

 

 

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

 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";



    }

 

相关文章:

  • 2021-11-11
  • 2021-10-24
  • 2022-03-09
  • 2022-02-24
  • 2021-11-12
  • 2022-12-23
  • 2021-10-26
  • 2021-05-28
猜你喜欢
  • 2021-11-13
  • 2021-08-24
  • 2022-01-15
  • 2021-12-20
  • 2022-12-23
  • 2021-09-14
  • 2021-12-09
相关资源
相似解决方案