aboutsummaryrefslogtreecommitdiff
path: root/other/next_permutation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'other/next_permutation.cpp')
-rw-r--r--other/next_permutation.cpp37
1 files changed, 0 insertions, 37 deletions
diff --git a/other/next_permutation.cpp b/other/next_permutation.cpp
deleted file mode 100644
index 95e70f4..0000000
--- a/other/next_permutation.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <bits/stdc++.h>
-#include <vector>
-using namespace std;
-
-class Solution {
-public:
- void nextPermutation(vector<int> &nums) {
- int i = nums.size() - 2;
- while (i >= 0 && nums[i + 1] <= nums[i])
- i--;
- if (i >= 0) {
- int j = nums.size() - 1;
- while (nums[j] <= nums[i])
- j--;
- swap(nums, i, j);
- }
- reverse(nums, i + 1);
- }
-
-private:
- void reverse(vector<int> &nums, int start) {
- int i = start, j = nums.size() - 1;
- while (i < j) {
- swap(nums, i, j);
- i++;
- j--;
- }
- }
-
- void swap(vector<int> &nums, int i, int j) {
- int temp = nums[i];
- nums[i] = nums[j];
- nums[j] = temp;
- }
-};
-
-int main() {}