1. 题目
31、46、47
2.全排列算法
如果当前排列如下,
4 5 1 2 6 7 9 8 3
那么字典序的下一个的计算方法:
- 先从右自左,找到第一个比右面小得数(从num-1开始,找到第一个比右边值小的位置pos1)
这里找到是7 - 再从右自左,找到第一个比7大得数 (从num开始找比array[pos1]大的第一个数的位置pos2)
这里找到是8 - 将上面找到的两个数调换
4 5 1 2 6 8 9 7 3 - 将pos1+1到num的数进行翻转
4 5 1 2 6 8 3 7 9
这就找到了字典序的下一个位置。