题目描述直接截图的leetcode
解题思路:
c++代码如下所示
class Solution {
public:
void nextPermutation(vector<int>& nums) {
int n = nums.size();
int i = n-2;
while(i>=0 && nums[i]>=nums[i+1]){
i--;
}
cout<<i<<endl;
if(i>=0){
int j = i+1;
while(j<n && nums[j]>nums[i]){
j++;
}
j--;
cout << j <<endl;
swap(nums[i],nums[j]);
}
reverse(nums.begin()+i+1 , nums.end());
}
};