这道题主要是找规律,如4,5,1,2,6最终为4,2,6,5,1。从后开始遍历,找到第一个破坏升序的元素5,然后与升序中小于5的数中的最大数2交换为2,1,5,6,然后将后面的升序反转2,6,5,1。实现方法是双指针。 #include <algorithm> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param cows int整型vector * @return int整型vector */ vector<int> nextPermutation(vector...