实施下一个排列,对于给定大小为N的数组A,将数字重新排列为数字在数字上的下一个更大的排列。
如果无法进行这种排列,则必须将其重新排列为最低可能的顺序,即以升序排列。
此问题的测试案例包括:
输入:A = [20, 50, 113]
输出:[20, 113, 50]
[20, 113, 50]
如何大于[20, 50, 113]
?
类似地,输入:A = [5, 18, 9]
输出:[9, 5, 18]
下一个排列如何而不是[5,9,18]
?
[20,113,50]如何大于[20,50,113]?
因为它大于([字典上]],所以它的工作方式如下:
所以是[20, 113, 50] > [20, 50, 113]
,因为在步骤1:20 == 20
和在步骤2:113 > 50
。
同样:[5, 9, 18] < [5, 18, 9]
因为9 < 18
和[9, 5, 18] > [5, 18, 9]
因为9 > 5
。