From 62db505df96c76b66b3ecaec4e746f61143d264b Mon Sep 17 00:00:00 2001 From: Anshul Gupta Date: Sat, 3 Oct 2020 21:51:22 +0530 Subject: [PATCH 1/3] Added C++ solution 31. Next Permutation C++ solution --- cpp/_31.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 cpp/_31.cpp diff --git a/cpp/_31.cpp b/cpp/_31.cpp new file mode 100644 index 0000000000..84818ccf8c --- /dev/null +++ b/cpp/_31.cpp @@ -0,0 +1,33 @@ +class Solution { +public: + void nextPermutation(vector& nums) { + + int i1,i2; + bool hasPermutation = false; + for(int i=nums.size()-1;i>0;i--){ + if(nums[i-1]i1;i--){ + if(nums[i]>nums[i1]){ + j=i; + break; + } + } + swap(nums[i1],nums[j]); + reverse(nums.begin()+i1+1,nums.end()); + }else{ + sort(nums.begin(),nums.end()); + } + for(auto i:nums){ + cout << i << " "; + } + } +}; From 1a3d3715dd9d230a3391bdf56e5d6326bd81dda0 Mon Sep 17 00:00:00 2001 From: Anshul Gupta Date: Sat, 3 Oct 2020 21:52:34 +0530 Subject: [PATCH 2/3] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ea076d819f..e1e278f219 100644 --- a/README.md +++ b/README.md @@ -954,7 +954,7 @@ _If you like this project, please leave me a star._ ★ |34|[Search for a Range](https://leetcode.com/problems/search-for-a-range/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_34.java)||Medium|Array, Binary Search |33|[Search in Rotated Sorted Array](https://leetcode.com/problems/search-in-rotated-sorted-array/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_33.java)||Medium|Binary Search |32|[Longest Valid Parentheses](https://leetcode.com/problems/longest-valid-parentheses/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_32.java)||Hard|Stack, DP -|31|[Next Permutation](https://leetcode.com/problems/parents-permutation)|[Solution](../master/src/main/java/com/fishercoder/solutions/_31.java)||Medium|Array +|31|[Next Permutation](https://leetcode.com/problems/parents-permutation)|[Solution](../master/src/main/java/com/fishercoder/solutions/_31.java), [C++](../master/cpp/_31.cpp)||Medium|Array |30|[Substring with Concatenation of All Words](https://leetcode.com/problems/substring-with-concatenation-of-all-words/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_30.java)||Hard| HashMap |29|[Divide Two Integers](https://leetcode.com/problems/divide-two-integers/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_29.java)||Medium| |28|[Implement strStr()](https://leetcode.com/problems/implement-strstr/)|[Solution](../master/src/main/java/com/fishercoder/solutions/_28.java)||Easy| String From 5edfb1be32b9d1ee5f1a426f1a98810d9de283c7 Mon Sep 17 00:00:00 2001 From: Anshul Gupta Date: Sun, 4 Oct 2020 10:15:20 +0530 Subject: [PATCH 3/3] Update _31.cpp --- cpp/_31.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/cpp/_31.cpp b/cpp/_31.cpp index 84818ccf8c..dcf1138f46 100644 --- a/cpp/_31.cpp +++ b/cpp/_31.cpp @@ -2,9 +2,11 @@ class Solution { public: void nextPermutation(vector& nums) { - int i1,i2; + int i1; + int i2; bool hasPermutation = false; - for(int i=nums.size()-1;i>0;i--){ + + for(int i=nums.size()-1; i>0; i--){ if(nums[i-1]i1;i--){ + for(int i=nums.size()-1; i>i1; i--){ if(nums[i]>nums[i1]){ j=i; break; } } - swap(nums[i1],nums[j]); - reverse(nums.begin()+i1+1,nums.end()); + swap(nums[i1], nums[j]); + reverse(nums.begin()+i1+1, nums.end()); }else{ - sort(nums.begin(),nums.end()); - } - for(auto i:nums){ - cout << i << " "; + sort(nums.begin(), nums.end()); } + } };