Skip to main content

Posts

Showing posts with the label Next Greater Number Set Digits

Next Greater Number Set Digits

Task: Given a number N, Find the smallest number with same digits of n and that greater than n. Example: Input: 1 143 Output: 314 Here is the Code: Program in C++: #include<iostream> #include<bits/stdc++.h> using namespace std; string nextGreaterNumber(string s) {     for(int i=1;i<s.length();i++)     {         if(s[i-1]>=s[i])         {             if(i+1==s.length()) return "not possible";         }         else         {             break;         }     }     stack<int> st;     for(int i=s.length()-1;i>=0;i--)     {         if(s[i-1]>=s[i])         {             st.push(i);         }         else         {             st.push(i);             int t;             while(!st.empty()&&s[i-1]<s[st.top()])             {                 t=st.top();                 st.pop();             }             swap(s[i-1],s[t]);             reverse(s.begin()+i,s.end());             return s;         }     } } int main()  { int t; scanf("%d\n&