Advertisement
nikunjsoni

31

Jul 4th, 2021
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.55 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     void nextPermutation(vector<int>& nums) {
  4.         int n = nums.size(), k, l;
  5.         for(k = n - 2; k >= 0; k--) {
  6.             if(nums[k] < nums[k + 1]) {
  7.                 break;
  8.             }
  9.       }
  10.         if(k < 0) {
  11.             reverse(nums.begin(), nums.end());
  12.         }else {
  13.             for(l = n - 1; l > k; l--) {
  14.                 if(nums[l] > nums[k]) {
  15.                     break;
  16.                 }
  17.             }
  18.             swap(nums[k], nums[l]);
  19.             reverse(nums.begin() + k + 1, nums.end());
  20.         }
  21.     }
  22. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement