Problem Address:http://poj.org/problem?id=1146
简单的一道题。
【题意】
把给定的字符重新排列得到的一串字符串并按字典序排列,对于给定的字符串,输出其下一个字典序字符串,如果没有则输出无。
【思路】
简化为给定一个整数,求比它大的最小的整数,且这个整数是由其中的数字重组而成的。
对于一个整数,从右边第一位开始,向左找第一个比它小的数。如果找不到就从第二位开始,找到则跳出循环。
如果最后还没找到,即说明这个数字是字典序的最后一位。输出无。
如果找到了,把该位插入到比它小的那个数的位置,并对其后面的数字进行从小到大的排列。
这样得到的数字即满足条件。
【代码】
本文介绍了一种简化后的算法,用于解决给定字符重新排列得到字典序排列的问题,包括如何找到给定整数的下一个字典序整数。详细解释了查找过程,包括从右向左寻找第一个比当前位小的数字,然后插入并重新排列后续数字,以生成满足条件的下一个字典序字符串。

186

被折叠的 条评论
为什么被折叠?



