最大字典序

栈和排序

https://ac.nowcoder.com/acm/problem/14893

发一个java版本的

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] array = new int[n];
        for(int i = 0; i < n; i++){
            array[i] = sc.nextInt();
        }

        int[] maxArray = new int[n];
        maxArray[n - 1] = array[n - 1];
        for(int i = n - 2; i >= 0; i--){
            maxArray[i] = Math.max(array[i], maxArray[i + 1]);
        }

        Stack<Integer> stack = new Stack<>();
        StringBuilder sb = new StringBuilder();

        for(int i = 0; i < n; i++){
            while(!stack.isEmpty() && stack.peek() > maxArray[i]){
                //System.out.print(stack.pop() + " ");
                sb.append(stack.pop() + " ");
            }
            stack.push(array[i]);
        }

        while(!stack.isEmpty()){
            //System.out.print(stack.pop() + " ");
            sb.append(stack.pop() + " ");
        }

        System.out.print(sb.toString());

    }
}
全部评论

相关推荐

11-17 11:15
门头沟学院 Java
金山办公终于发offer了,但薪资和平台都不如已有的offer打算拒了,A不了薪资,不满意直接拒了,留给需要的人嘿嘿嘿时间线:10.14线下一面&nbsp;,10.23线上二面,下午发测评,11月1日HR面,11月14日电话谈薪,11月17日直接发offer
star__plat...:好兄弟干的好啊,解气。金山第一次笔难度高的离谱,第二次简单的离谱全A了,用人部门筛选中估计最后还是要挂我,就这今早智联招聘还给我发信息让我投
offer帮选
点赞 评论 收藏
分享
Sigma429:极兔啊,薪资开的巨低,还在上海,索性不做笔试了
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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