saurabh pleeeeeeeeeeease look at the list that i have mentioned carefully ..
second list must be H2->4->4->4->4->5 and not H2->4->4->4->4->4.

Its straight forward to do the job with the list you have done with so far.

On Tue, Feb 2, 2010 at 12:22 PM, saurabh gupta <sgup...@gmail.com> wrote:

> this is how it works
>
> list 1 : H1->5->5->5->5->5
> list 2 : H2->4->4->4->4->4
>
> now we need to return a list say list 3 as our answer which contains the
> sum and length  at most  n+1 (in this case as m=n)
>
> step 1 : we spent O(n) to simply conclude they are of same length
> step 2:
>
> list 3: 9<-9<-9<-9<-9<-H3
>
> (we haven't used any extra space simply utilized the space where we store
> the answer)
> (not the pointers in lis3 they are in the 'opposite' sense)
> plus we haven't touched 1 or 2
>
> step 3:
>
> list 3: H3->9->9->9->9->9
>
> this is the answer.
>
> This is actually a special case.
>
>
>
> On Tue, Feb 2, 2010 at 10:40 AM, Algoose Chase <harishp...@gmail.com>wrote:
>
>> @saurabh :
>> so you scanned to find out that both lists are same : O(n) (agreed)
>> prepare list 3 in time O(n) (agreed)
>> process list 3 in time O(n) (*HOW ??*)
>>
>> can you run through your method and show how you process list 3 in O(n)
>> using the below lists as input:
>>
>> 5->5->5->5->5->5->5->5->5->5 and
>> 4->4->4->4->4->4->4->4->4->5
>>
>> hope you know the constraints : you cant reverse original list. and you
>> cant use recursion. and you need to traverse the list LEFT TO RIGHT to
>> satisfy the first 2 conditions.
>>
>> Yes , I agree these lists takes O(n) time: list 1 = 4->7->8->1->6
>>
>>                                                             list 2 =
>> 2->3->4
>> but not in all cases.
>> I agree that for most cases(except the wild ones) the running time must be
>> O(n) only but you certainly need multiple passes depending upon the input.
>>
>> Hope I am clear !
>>
>>
>> On Mon, Feb 1, 2010 at 11:39 PM, saurabh gupta <sgup...@gmail.com> wrote:
>>
>>> the key observation is that your requirement for no space is nullified by
>>> using the space in the resultant list.
>>>
>>> so you scanned to find out that both lists are same : O(n)
>>> prepare list 3 in time O(n)
>>> process list 3 in time O(n)
>>>
>>> current list 3 is the answer as list 4 is empty
>>> total time O(n) as k is small
>>>
>>>
>>>
>>> On Mon, Feb 1, 2010 at 11:19 PM, saurabh gupta <sgup...@gmail.com>wrote:
>>>
>>>> nope,
>>>> if both lists are of same length list 4 is not required and you save
>>>> time to deal with list 4
>>>> so, you have list 3 only
>>>> time reqd is O(3n)
>>>>
>>>> 3 passes approximately
>>>>
>>>>
>>>>
>>>> On Mon, Feb 1, 2010 at 11:24 AM, Algoose Chase <harishp...@gmail.com>wrote:
>>>>
>>>>> Thats true ! ,  The purpose is to add very long integers such that we
>>>>> cant use premative data types to represent them.
>>>>>
>>>>>  The point I was trying to prove is : you would need to go through
>>>>> multiple passes through the list(essentially to propagate carry) when you
>>>>> have conditions like No Reversing the original lists and no recursion and 
>>>>> no
>>>>> to any extra memory usage.
>>>>>
>>>>> @ saurabh: Hope you have not considered the worst case before
>>>>> generalizing the running time to 2n+m .
>>>>>
>>>>> lets assume the 2 lists are of same size so n = m.This eliminates the
>>>>> need to find out m or to create list 4
>>>>> and lets assume the linked list are  5->5->5->5->5->5->5->5->5->5 and
>>>>>
>>>>> 4->4->4->4->4->4->4->4->4->5
>>>>> Only thing is you need to create list 3 (as u have mentioned) . Now its
>>>>> not possible to add the 2 lists through a single pass from left to right .
>>>>> This would need n passes on a linked list of size n  making the running 
>>>>> time
>>>>> n^2.
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Jan 28, 2010 at 5:51 AM, saurabh gupta <sgup...@gmail.com>wrote:
>>>>>
>>>>>> this defeats the purpose,
>>>>>> they are stored in linked list because they cannot be stored in a
>>>>>> given type.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Jan 28, 2010 at 3:25 AM, Deva R <r.deva...@gmail.com> wrote:
>>>>>>
>>>>>>> i faced this qn in ********* interview.
>>>>>>>
>>>>>>> best soln i could give was:
>>>>>>>
>>>>>>> - traverse each list and derive both the numbers.. something like
>>>>>>> below
>>>>>>>
>>>>>>>   node = list->head;
>>>>>>>   i=1; value =0;
>>>>>>>    while (node)
>>>>>>>    {  value = (node->data)*i +value;
>>>>>>>       i*=10;
>>>>>>>       node = node->next;
>>>>>>>    }
>>>>>>>
>>>>>>> - add both the numbers. u can either return the number or form a new
>>>>>>> list and return.
>>>>>>>
>>>>>>> i gave the code.. and its o(m+n), for lists of size m,n.
>>>>>>>
>>>>>>> -Deva
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Jan 27, 2010 at 10:02 PM, saurabh gupta 
>>>>>>> <sgup...@gmail.com>wrote:
>>>>>>>
>>>>>>>> step 1 is n not m
>>>>>>>> which makes it O(3n)
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Jan 27, 2010 at 9:54 PM, saurabh gupta 
>>>>>>>> <sgup...@gmail.com>wrote:
>>>>>>>>
>>>>>>>>> its not exponential
>>>>>>>>> time to find out m = m
>>>>>>>>> time to create list 3 = m
>>>>>>>>> time to create list 4 = n-m
>>>>>>>>> time to come up with proper added list (list 3 modification) = m
>>>>>>>>> time to merge list 3 and list 4 = n-m
>>>>>>>>>
>>>>>>>>> total time = 2n+m
>>>>>>>>>
>>>>>>>>> except step 1 all are reversals with approximately same constant
>>>>>>>>> and constant for step 1 is smaller
>>>>>>>>> so one can say
>>>>>>>>>
>>>>>>>>> O(2n+m)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Jan 27, 2010 at 5:26 PM, Anurag Bhatia <
>>>>>>>>> abhati...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> If that is the representation, then the lists have to be reversed.
>>>>>>>>>> Otherwise the time goes up exponentially.
>>>>>>>>>>
>>>>>>>>>> On Wed, Jan 27, 2010 at 5:19 PM, Algoose Chase <
>>>>>>>>>> harishp...@gmail.com> wrote:
>>>>>>>>>> > Condition:
>>>>>>>>>> > Can we do it keeping the original lists intact ? ie without
>>>>>>>>>> reversing it.
>>>>>>>>>> > I mean , No recursion & no Reversing ... is it possible ?
>>>>>>>>>> >
>>>>>>>>>> > @kumar :
>>>>>>>>>> > 15234 is represented as  1->5->2->3->4
>>>>>>>>>> >
>>>>>>>>>> > On Wed, Jan 27, 2010 at 4:09 PM, saurabh gupta <
>>>>>>>>>> sgup...@gmail.com> wrote:
>>>>>>>>>> >>
>>>>>>>>>> >> perhaps you mean,
>>>>>>>>>> >> reverse each link list O(n+m).
>>>>>>>>>> >> then sum each node with carryover maintained.
>>>>>>>>>> >>
>>>>>>>>>> >> On Wed, Jan 27, 2010 at 11:07 AM, Anurag Bhatia <
>>>>>>>>>> abhati...@gmail.com>
>>>>>>>>>> >> wrote:
>>>>>>>>>> >>>
>>>>>>>>>> >>> Let us take an example -
>>>>>>>>>> >>>
>>>>>>>>>> >>> Num 1 = 123456
>>>>>>>>>> >>> Num 2= 1234
>>>>>>>>>> >>> Link-1->Link-2->Link-3->Link-4->Link5->Link6
>>>>>>>>>> >>> Link-1->Link-2->Link-3->Link-4
>>>>>>>>>> >>>
>>>>>>>>>> >>> Add nodes into linkedlist 1 till either one of the list is not
>>>>>>>>>> null.
>>>>>>>>>> >>> Make sure you process the carry in each iteration.
>>>>>>>>>> >>>
>>>>>>>>>> >>>
>>>>>>>>>> >>> --AB
>>>>>>>>>> >>>
>>>>>>>>>> >>>
>>>>>>>>>> >>> On Tue, Jan 26, 2010 at 9:47 PM, Algoose Chase <
>>>>>>>>>> harishp...@gmail.com>
>>>>>>>>>> >>> wrote:
>>>>>>>>>> >>> > conditions:
>>>>>>>>>> >>> > NO extra memory (@ stack or Heap) at all. No recursion.
>>>>>>>>>> >>> >
>>>>>>>>>> >>> > Any body has got any hint about how to get this done ?
>>>>>>>>>> >>> >
>>>>>>>>>> >>> >
>>>>>>>>>> >>> >
>>>>>>>>>> >>> > --
>>>>>>>>>> >>> > You received this message because you are subscribed to the
>>>>>>>>>> Google
>>>>>>>>>> >>> > Groups
>>>>>>>>>> >>> > "Algorithm Geeks" group.
>>>>>>>>>> >>> > To post to this group, send email to
>>>>>>>>>> algoge...@googlegroups.com.
>>>>>>>>>> >>> > To unsubscribe from this group, send email to
>>>>>>>>>> >>> > algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>>>>>>>>> .
>>>>>>>>>> >>> > 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
>>>>>>>>>> algoge...@googlegroups.com.
>>>>>>>>>> >>> To unsubscribe from this group, send email to
>>>>>>>>>> >>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>>>>>>>>> .
>>>>>>>>>> >>> 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
>>>>>>>>>> algoge...@googlegroups.com.
>>>>>>>>>> >> To unsubscribe from this group, send email to
>>>>>>>>>> >> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>>>>>>>>> .
>>>>>>>>>> >> 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 algogeeks@googlegroups.com
>>>>>>>>>> .
>>>>>>>>>> > To unsubscribe from this group, send email to
>>>>>>>>>> > algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>>>>>>>>> .
>>>>>>>>>> > 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 algoge...@googlegroups.com.
>>>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>>>>>>>>> .
>>>>>>>>>> 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 algoge...@googlegroups.com.
>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>>>>>>> .
>>>>>>>> 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 algoge...@googlegroups.com.
>>>>>>> To unsubscribe from this group, send email to
>>>>>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>>>>>> .
>>>>>>> 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 algoge...@googlegroups.com.
>>>>>> To unsubscribe from this group, send email to
>>>>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>>>>> .
>>>>>> 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 algoge...@googlegroups.com.
>>>>> To unsubscribe from this group, send email to
>>>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>>>> .
>>>>> 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 algoge...@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>> .
>>> 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 algoge...@googlegroups.com.
>> To unsubscribe from this group, send email to
>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>> .
>> 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 algoge...@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
> .
> 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 algoge...@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to