最大字典序

栈和排序

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

    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 12:19
点赞 评论 收藏
分享
10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
评论
2
收藏
分享
牛客网
牛客企业服务