Next Greater Element III LeetCode solution in C++
1class Solution {2public:3int nextGreaterElement(int n) {4vector<int> vec;5int temp = n;6while (n > 0) {7int r = n % 10;8vec.push_back(r);9n /= 10;10}11sort(vec.begin(), vec.end());12do {13int num = 0;14long j = 0;15int s = vec.size() - 1;16long i = pow(10, s);17while (i > 0) {18num += i * vec[j++];19i /= 10;20}21if (num > temp) return num;2223} while (next_permutation(vec.begin(), vec.end()));24return -1;25}26};