1.题目描述 给你一个1->n的排列和一个栈,入栈顺序给定。你要在不打乱入栈顺序的情况下,对数组进行从大到小排序。当无法完全排序时,请输出字典序最大的出栈序列。 2.思路 由题意可知,若要输出字典序最大的出栈序列,那么第一个输出的一定是n。按照给定的入栈顺序,第二个输出的数,是当前未入栈的数中的最大值,(如果未入栈的数中有n-1,第二个输出的数就是n-1,依此类推)最后,栈中的数,就是无法完全排序的数,依此出栈并输出即可。 3.代码块 由上述思路可知,需要求出各数的后缀最大值并判断当前元素是否"入栈" 各数的后缀最大值 for(int i=n;i>=1;i--) maxn[i]=m...