@bharat...so i thnk 7585 shud hav 7855 as ans..!!

On Thu, Sep 22, 2011 at 5:42 PM, Arpit Sood <[email protected]> wrote:

> @yogesh nice algo...
>
> it is not even required to sort the left out array, just reverse it :)
>
> On Thu, Sep 22, 2011 at 5:05 PM, Yogesh Yadav <[email protected]> wrote:
>
>> @ratan: thanks for correction .... little correction in my logic...
>>
>> start from rightmost digit and search towards left a digit less than
>> this... if found ... just swap...now after swapping save the index with
>> which you are swapping ...and after that sort the array in ascending
>> order...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  7594(53).... now make the array in brackets in ascending order...
>>
>> answer 759435....
>>
>> now am i right??
>>
>>
>>
>> On Thu, Sep 22, 2011 at 4:55 PM, Ratan <[email protected]> wrote:
>>
>>> 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.
>>>
>>>
>>  --
>> 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.
>>
>
>
>
> --
> Regards,
> Arpit Sood
>
> --
> 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.

Reply via email to