the answer should be 759435.......

On Thu, Sep 22, 2011 at 4:45 PM, Yogesh Yadav <[email protected]> wrote:
> my logic: if wrong then plz tell...
>
> start from rightmost digit and search towards left a digit less than this...
> if found ... just swap...u got the answer... if no small digit found then
> select second rightmost digit and follow the same process...and so on...
>
> ....
>
> for ex: 759354
>
> rightmost digit =4
>
> search for smaller digit than 4 towards left... it will be 3...
>
> then answer 759453
>
>
> ....
>
> On Thu, Sep 22, 2011 at 4:40 PM, Yogesh Yadav <[email protected]> wrote:
>>
>> @algo geek:
>>
>> there is some error in your logic...
>>
>> consider a number 759845
>>
>> according to ur logic the number greater than this will be 784559
>>
>> but it should be 759854....
>>
>> .....
>>
>> On Thu, Sep 22, 2011 at 4:24 PM, algo geek <[email protected]> wrote:
>>>
>>> Keep a pointer ont the rightmost digit. Keep moving right until you find
>>> the number in increasing number. As soon as this breaks. stop. Swap the
>>> digit at the current position with the smallest digit, but larger than the
>>> current position digit, sort the array to the right of the current position
>>> in descending order.
>>>
>>> explanation:
>>> NUMBER:759854
>>> INDEX:     012356
>>>
>>> Keep the pointer at index 6. Keep moving right as long as numbers are in
>>> increasing fashion. Stop at index 1.
>>> swap this digit with the smallest digit larger than 5 i.e. 8
>>> 78(9554)
>>> now sort the array in parenthesis in descending order
>>> ans : 784559
>>>
>>> For the implementation you can actually create an array of length 10, to
>>> keep track of all the digits encounters while moving left. This will help in
>>> sorting as well (similar to counting sort).
>>> One pass will do the work. You can print the answer directly afterwards.
>>>
>>> With Regards
>>> Unknown
>>>
>>> On Thu, Sep 22, 2011 at 4:13 PM, Dheeraj Sharma
>>> <[email protected]> wrote:
>>>>
>>>> in nlog(n)
>>>> #include<iostream>
>>>> #include<conio.h>
>>>> #include<string.h>
>>>> #define swap(a,b,c) (c)=(a),(a)=(b),(b)=(c)
>>>> using namespace std;
>>>> int t;
>>>> void quicksort(char arr[],int left,int right)
>>>> {
>>>>      if(left<right)
>>>>      {
>>>>                    int piv=right;
>>>>                    int i=left,j=left;
>>>>                    while((i<right) && (j<right))
>>>>                    {
>>>>                     if(arr[j]<arr[piv])
>>>>                     {
>>>>                     swap(arr[i],arr[j],t);
>>>>                     i++;
>>>>                     }
>>>>                     j++;
>>>>                    }
>>>>                    swap(arr[i],arr[piv],t);
>>>>                    quicksort(arr,left,i-1);
>>>>                    quicksort(arr,i+1,right);
>>>>                    }
>>>>      }
>>>> int main()
>>>> {
>>>>     char str[100],t;
>>>>     int arr[100],i=0;
>>>>     cin>>str;
>>>>     int min=0;
>>>>     int len=strlen(str);
>>>>     while(str[i])
>>>>     {
>>>>                  if(str[i]<=str[min])
>>>>                  min=i;
>>>>                  arr[i]=min;
>>>>                  i++;
>>>>                  }
>>>>      i=len-1;
>>>>      while((arr[i]==i)&&(i>0))
>>>>      i--;
>>>>      swap(str[i],str[arr[i]],t);
>>>>
>>>> if(i>0)
>>>> quicksort(str,arr[i]+1,len-1);
>>>>     cout<<str;
>>>>  getch();
>>>> }
>>>>
>>>>
>>>> On Thu, Sep 22, 2011 at 3:33 PM, Dheeraj Sharma
>>>> <[email protected]> wrote:
>>>>>
>>>>> #include<iostream>
>>>>> #include<conio.h>
>>>>> #include<string.h>
>>>>> #define swap(a,b,c) (c)=(a),(a)=(b),(b)=(c)
>>>>> using namespace std;
>>>>> int main()
>>>>> {
>>>>>     char str[100],t;
>>>>>     cin>>str;
>>>>>
>>>>>     int len=strlen(str);
>>>>>  int i,x,boo=1;
>>>>>     for(i=len-1;i>0&&boo;i--)
>>>>>     {
>>>>>         for(x=i-1;x>=0&&boo;x--)
>>>>>         {
>>>>>             if(str[x]<str[i])
>>>>>             {
>>>>>             swap(str[x],str[i],t);
>>>>>             boo=0;
>>>>>             }
>>>>>             }
>>>>>             }
>>>>> if(i>0)
>>>>> {
>>>>>
>>>>> //Sorting...
>>>>>            for(int l=x+2;l<len-1;l++)
>>>>>            {
>>>>>                    int min=l;
>>>>>                    for(int k=l+1;k<len;k++)
>>>>>                    {
>>>>>                            if(str[k]<str[min])
>>>>>                            min=k;
>>>>>                            }
>>>>>                    swap(str[min],str[l],t);
>>>>>                    }
>>>>> }
>>>>>     cout<<str;
>>>>>
>>>>>
>>>>>  getch();
>>>>> }
>>>>>
>>>>>
>>>>> correct me..if m wrong..
>>>>>
>>>>> On Thu, Sep 22, 2011 at 2:01 PM, Ratan <[email protected]>
>>>>> wrote:
>>>>>>
>>>>>> @dheeraj ... ya u r ryt.... thnxs for the correction
>>>>>>
>>>>>> On Thu, Sep 22, 2011 at 1:30 PM, Dheeraj Sharma
>>>>>> <[email protected]> wrote:
>>>>>> > @Ratan:
>>>>>> > i think the next largest here would be 784559
>>>>>> >
>>>>>> > On Thu, Sep 22, 2011 at 12:39 PM, Ratan <[email protected]>
>>>>>> > wrote:
>>>>>> >>
>>>>>> >> @kartik : to some extent ur code is giving the right answer... btw
>>>>>> >> somehow check tis
>>>>>> >> let for example the no be 759854
>>>>>> >> then the next biggest no is 794558
>>>>>> >> btw ur program is giving 795854 which is undoubtedly
>>>>>> >> wrong............
>>>>>> >> the code would give more appropriate result if u sort the numbers
>>>>>> >> from
>>>>>> >> from i to n on meeting the condition of (a[i-1]<a[i])
>>>>>> >>
>>>>>> >> On Thu, Sep 22, 2011 at 11:53 AM, Ramakant Sharma
>>>>>> >> <[email protected]>
>>>>>> >> wrote:
>>>>>> >> > starting from right find first digit less then right most
>>>>>> >> > digit,if no
>>>>>> >> > any
>>>>>> >> > digit is less,then move to next right most and compair ,,,,when
>>>>>> >> > found
>>>>>> >> > exchange those no,
>>>>>> >> > now sort the no.s up to that index of the given no which is
>>>>>> >> > exchanged:
>>>>>> >> > Ex:
>>>>>> >> > 43987723893239876
>>>>>> >> > first required sequence: 439877238932[3]987[6] swap these no
>>>>>> >> > 439877238932[6]{987[3]}
>>>>>> >> > now sort in decreasing order  439877238932[6]{3789} this is the
>>>>>> >> > required
>>>>>> >> > no
>>>>>> >> > ....correct me if any thing wrong
>>>>>> >> >
>>>>>> >> >
>>>>>> >> >
>>>>>> >> >
>>>>>> >> >
>>>>>> >> > --
>>>>>> >> > You received this message because you are subscribed to the
>>>>>> >> > Google
>>>>>> >> > Groups
>>>>>> >> > "Algorithm Geeks" group.
>>>>>> >> > To post to this group, send email to [email protected].
>>>>>> >> > To unsubscribe from this group, send email to
>>>>>> >> > [email protected].
>>>>>> >> > For more options, visit this group at
>>>>>> >> > http://groups.google.com/group/algogeeks?hl=en.
>>>>>> >> >
>>>>>> >>
>>>>>> >>
>>>>>> >>
>>>>>> >> --
>>>>>> >> Ratan Kumar
>>>>>> >> B. Tech
>>>>>> >> MNNIT,
>>>>>> >> Allahabad
>>>>>> >>
>>>>>> >> --
>>>>>> >> You received this message because you are subscribed to the Google
>>>>>> >> Groups
>>>>>> >> "Algorithm Geeks" group.
>>>>>> >> To post to this group, send email to [email protected].
>>>>>> >> To unsubscribe from this group, send email to
>>>>>> >> [email protected].
>>>>>> >> For more options, visit this group at
>>>>>> >> http://groups.google.com/group/algogeeks?hl=en.
>>>>>> >>
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> > --
>>>>>> > Dheeraj Sharma
>>>>>> > Comp Engg.
>>>>>> > NIT Kurukshetra
>>>>>> >
>>>>>> >
>>>>>> > --
>>>>>> > You received this message because you are subscribed to the Google
>>>>>> > Groups
>>>>>> > "Algorithm Geeks" group.
>>>>>> > To post to this group, send email to [email protected].
>>>>>> > To unsubscribe from this group, send email to
>>>>>> > [email protected].
>>>>>> > For more options, visit this group at
>>>>>> > http://groups.google.com/group/algogeeks?hl=en.
>>>>>> >
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Ratan Kumar
>>>>>> B. Tech
>>>>>> MNNIT,
>>>>>> Allahabad
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "Algorithm Geeks" group.
>>>>>> To post to this group, send email to [email protected].
>>>>>> To unsubscribe from this group, send email to
>>>>>> [email protected].
>>>>>> For more options, visit this group at
>>>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Dheeraj Sharma
>>>>> Comp Engg.
>>>>> NIT Kurukshetra
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Dheeraj Sharma
>>>> Comp Engg.
>>>> NIT Kurukshetra
>>>>
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Algorithm Geeks" group.
>>>> To post to this group, send email to [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected].
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Algorithm Geeks" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>



-- 
Ratan Kumar
B. Tech
MNNIT,
Allahabad

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to