@kunal: seems fine.. tried it on some cases...

On Sat, Aug 13, 2011 at 5:17 PM, Kunal Patil <[email protected]> wrote:

> Following approach should work:
>
> 1)  Count max number of digit in any integer of input. Let it be m. (Thanks
> to dave..)
>
> 2) For each int having less than m digits:
>       Convert it to string of length m where you append circularly.
>       For e.g. if m=5
>        53 --> 53535
>        100 --> 10010
>        34343 --> 34343
>        8 --> 88888
>
> 3) Now lexicographically sort all those strings. Apply same permutations to
> first array of integers. (again, thanx to Dave)
>
> 4) Concatenate integers of first array.
>
> For e.g.
> 8   53   147  159  1471470   71
> m=7
> corresponding string array becomes:
> "8888888"
> "5353535"
> "1471471"
> "1591591"
> "1471470"
> "7171717"
>
> Apply step 3. This gives int array as 8  71  53  15  147  1471470
>
> Thus, solution is 87153151471471470.
>
> Let me know about any counter-examples...
>
> You can apply tricks in programming language that will allow you to save
> actually calculating these strings.
> For e.g. while comparing two unequal length strings char by char if you
> find chars of str1 have exhausted but not of str2, you can set index in str1
> to start of the str1 and continue comparison.
>
>
> On Sat, Aug 13, 2011 at 2:06 PM, Ashish Sachdeva <
> [email protected]> wrote:
>
>> @ $: how ll you manage something like this:
>>     2,3,100,90,10
>>
>> 2nd array becomes: 200,300,100,900,100
>> descendng order: 900,300,200,100,100
>>
>> how to take care which 100 is of 10 cos we need 10 1st...??
>> On Aug 13, 1:00 pm, rahul aravind <[email protected]> wrote:
>> > awesome alogoritm dave:):)
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > On Fri, Aug 12, 2011 at 6:48 PM, Dave <[email protected]> wrote:
>> > > @Yasir: I think the following will work. Counterexamples welcome.
>> >
>> > > Find the number of digits in each of the integers, and find the max of
>> > > that number, say m.
>> >
>> > > Fill a second array as follows: If the ith integer has m digits, copy
>> > > it into the second array. If the ith number has less than m digits,
>> > > concatenate duplicates of the last digit of the integer to the right
>> > > end to expand it to m digits. Examples: m = 3, 7 goes to 777; 82 goes
>> > > to 822; 29 goes to 299; 0 goes to 000.
>> >
>> > > Sort the second array into descending order and carry the first array
>> > > along (apply the same permutations to the first array as you do to the
>> > > second).
>> >
>> > > Concatenate the integers in the first array to get the result.
>> >
>> > > Dave
>> >
>> > > On Aug 12, 7:34 am, Yasir Imteyaz <[email protected]> wrote:
>> > > > An array of integers is given and you have to find the largest
>> possible
>> > > > integer by concatenating all elements:
>> >
>> > > > example:
>> > > > array:  87  36  52
>> > > > answer:  875236
>> >
>> > > > array: 87 9 52
>> > > > answer: 98752
>> >
>> > > --
>> > > 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.
>

-- 
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