Steward
分享是一種喜悅、更是一種幸福
程式語言 - LeetCode - C++ - 31. Next Permutation
參考資訊:
https://algo.monster/liteproblems/31
https://www.cnblogs.com/grandyang/p/4428207.html
題目:

解答:
class Solution {
public:
void nextPermutation(vector<int>& nums) {
int size = nums.size();
int p = size - 2;
for (p = size - 2; p >= 0; --p) {
if (nums[p + 1] > nums[p]) {
break;
}
}
if (p >= 0) {
for (int i = size - 1; i > p; --i) {
if (nums[i] > nums[p]) {
swap(nums[p], nums[i]);
break;
}
}
}
reverse(nums.begin() + p + 1, nums.end());
}
};