@ALL

 O(n^2 lg(n^2))

http://www.spoj.pl/problems/SUMFOUR/

my code :
http://ideone.com/kAPNB

plz. suggest some test case's :

On Sat, Jun 23, 2012 at 6:59 AM, Amol Sharma <amolsharm...@gmail.com> wrote:

> @bhaskar,rammar:
>
> I don't think your algo willn not work for the following test case --
>
>
> test case :
> arr        : 2 4 6 8
> arr^2     : 6 8 10 10 12 14            (sum of each unique pair in arr[i])
>
> let's say target sum is 26
>
> your solution will return true as they 12+14=26 but in 12 and 14, 8 is
> common, infact 26  is not possible in the given array
>
> --
>
>
> Amol Sharma
> Final Year Student
> Computer Science and Engineering
> MNNIT Allahabad
>
> <http://gplus.to/amolsharma99> 
> <http://twitter.com/amolsharma99><http://in.linkedin.com/pub/amol-sharma/21/79b/507><http://www.simplyamol.blogspot.com/><http://facebook.com/amolsharma99>
>
>
>
>
>
>
> On Fri, Jun 22, 2012 at 11:45 PM, Bhaskar Kushwaha <
> bhaskar.kushwaha2...@gmail.com> wrote:
>
>> We first compute the N^2 two sums, and sort the two sums. The for each
>> TwoSum t, we check whether there is another two sum t' such that t.value +
>> t'.value = target. The time complexity of this approach is O(N^2 logN)
>>
>>
>> On Wed, Jun 20, 2012 at 1:36 AM, rammar <getam...@gmail.com> wrote:
>>
>>> Lets see ur example... We can have two other arrays corresponding to our
>>> n^2 array.
>>> For every (target-arr[i]) which we search in our look up array, we can
>>> also search the components which were used to get that sum. This can be
>>> done in addition constant amount search.
>>> I hope we can still go with Hemesh's algo. Please let me know if it
>>> breaks somewhere...
>>>
>>> let's take a test case :
>>> arr        : 2   4   6    8
>>> arr[0]    : 6   8   10   10   12   14
>>> arr[1]    : 2   2    2     4     4    6
>>> arr[2]    : 4   6    8     6     8    8
>>>
>>>
>>> P.S. Can we do better?
>>>
>>> On Wednesday, June 20, 2012 12:22:52 AM UTC+5:30, Amol Sharma wrote:
>>>>
>>>> @rammar:
>>>> can you please explain the case...which i took in the earlier
>>>> post..with this method.
>>>>
>>>> --
>>>>
>>>>
>>>> Amol Sharma
>>>> Final Year Student
>>>> Computer Science and Engineering
>>>> MNNIT Allahabad
>>>>
>>>> <http://gplus.to/amolsharma99> 
>>>> <http://twitter.com/amolsharma99><http://in.linkedin.com/pub/amol-sharma/21/79b/507><http://www.simplyamol.blogspot.com/><http://facebook.com/amolsharma99>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Tue, Jun 19, 2012 at 11:27 PM, rammar <getam...@gmail.com> wrote:
>>>>
>>>>> @Hemesh +1
>>>>>
>>>>>   Please correct me if i am wrong.
>>>>>   Creation of our look up array a[n*n] -> sum of all the pairs will
>>>>> take O(n^2).
>>>>>   Search using binary sort or quick sort in O(n^2 log (n^2) )  ==
>>>>> O(n^2 log n)
>>>>>   We will traverse this array, and for every element we will find
>>>>> (target - a[i])  -> This traversal will again take O(n^2).
>>>>>               For every (target -a[i]) we will search it in our lookup
>>>>> array using binary search -> This will take O(log n^2) = O(2log n) = O(log
>>>>> n)
>>>>>   We will store all the matched for the target.
>>>>>
>>>>> Final complexity = O(n^2) + O(n^2 log n) + O(n^2)*O(log n)   == O (n^2
>>>>> log n)
>>>>>   If the values of max of a[n] is not very high, we can go with a hash
>>>>> map. This will result in a quick look up. And we can get the answer in
>>>>> O(n^2).
>>>>>
>>>>>
>>>>> P.S. Can we do better?
>>>>>
>>>>>
>>>>> On Monday, June 18, 2012 6:10:33 PM UTC+5:30, Jalaj wrote:
>>>>>>
>>>>>> @KK and hemesh
>>>>>> target is not a constant value , it can be any element in array , so
>>>>>> you need to do binary search for all (array[i] - (a+b)) to find which
>>>>>> increases the complexity to n^3logn.
>>>>>> So, i think the n^3 approach which i gave before do it ??
>>>>>>
>>>>>> ------   Correct me if m wrong
>>>>>>
>>>>>> On Mon, Jun 18, 2012 at 2:58 PM, Amol Sharma 
>>>>>> <amolsharm...@gmail.com>wrote:
>>>>>>
>>>>>>> @hemesh,kk:
>>>>>>>
>>>>>>> let's take a test case :
>>>>>>> arr        : 2 4 6 8
>>>>>>> arr^2     : 6 8 10 10 12 14            (sum of each unique pair in
>>>>>>> arr[i])
>>>>>>>
>>>>>>> let's say target sum is 26
>>>>>>>
>>>>>>> your solution will return true as they 12+14=26 but in 12 and 14, 8
>>>>>>> is common, infact 26  is not possible in the given array
>>>>>>>
>>>>>>> can u please elaborate how will you take care of such situation ?
>>>>>>>
>>>>>>> @jalaj:
>>>>>>> yes it's O( (n^3)*logn)
>>>>>>>
>>>>>>> @bhavesh:
>>>>>>> fyi..
>>>>>>> log(n^3)=3*log(n)=O(log(n))
>>>>>>> so it's same.. :P
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>>
>>>>>>> Amol Sharma
>>>>>>> Final Year Student
>>>>>>> Computer Science and Engineering
>>>>>>> MNNIT Allahabad
>>>>>>>
>>>>>>> <http://gplus.to/amolsharma99> 
>>>>>>> <http://twitter.com/amolsharma99><http://in.linkedin.com/pub/amol-sharma/21/79b/507><http://www.simplyamol.blogspot.com/><http://facebook.com/amolsharma99>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Jun 18, 2012 at 12:29 AM, KK <kunalkapadi...@gmail.com>wrote:
>>>>>>>
>>>>>>>> @Hemesh : +1
>>>>>>>> @Jalaj : read Hemesh's solution again it is for 4sum.
>>>>>>>> In short, make a new array having sum of each unique pair of given
>>>>>>>> array. -> O(n^2)
>>>>>>>> sort it -> O(n^2)
>>>>>>>> for each number bi in new array, binary search (target - bi) in the
>>>>>>>> same array -> O(n^2)
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sunday, 17 June 2012 12:41:40 UTC+5:30, Jalaj wrote:
>>>>>>>>>
>>>>>>>>> The solution which hemesh gave was solution to 3SUM hard problem
>>>>>>>>> the best solution for which can be achieved in n^2 .
>>>>>>>>> And the original question is a kind of 4SUM hard problem for which
>>>>>>>>> best possible solution i think is again n^3 and Amol what you told is 
>>>>>>>>> not
>>>>>>>>> n^3 , finding all triplets will itself take n^3 and doing a binary 
>>>>>>>>> search
>>>>>>>>> again that sums upto n^3*logn.
>>>>>>>>>
>>>>>>>>> @shashank it is not a variation of 3SUM problem as in 3SUM problem
>>>>>>>>> a+b+c = some constant , but in your case it is "b+c+d = s-a", where a 
>>>>>>>>> can
>>>>>>>>> change again and again so if you do even apply 3SUM logic to it you 
>>>>>>>>> will
>>>>>>>>> have to do it for every a which will make it n^2*n = n^3
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Sat, Jun 16, 2012 at 2:45 AM, sanjay pandey <
>>>>>>>>> sanjaypandey...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> @hemesh cud u plz elaborate wat is   b[k]=a[i]+a[j]...n also ur
>>>>>>>>>> solution...
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> 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+unsubscribe@**googlegr****oups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>>>>>>>>> .
>>>>>>>>>> For more options, visit this group at http://groups.google.com/**
>>>>>>>>>> group****/algogeeks?hl=en<http://groups.google.com/group/algogeeks?hl=en>
>>>>>>>>>> .
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>   --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "Algorithm Geeks" group.
>>>>>>>> To view this discussion on the web visit
>>>>>>>> https://groups.google.com/d/**ms**g/algogeeks/-/9jCCN5iHDB8J<https://groups.google.com/d/msg/algogeeks/-/9jCCN5iHDB8J>
>>>>>>>> .
>>>>>>>>
>>>>>>>> To post to this group, send email to algogeeks@googlegroups.com.
>>>>>>>> To unsubscribe from this group, send email to
>>>>>>>> algogeeks+unsubscribe@**googlegr**oups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>>>>>>> .
>>>>>>>> For more options, visit this group at http://groups.google.com/**
>>>>>>>> group**/algogeeks?hl=en<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+unsubscribe@
>>>>>>> **googlegr**oups.com <algogeeks%2bunsubscr...@googlegroups.com>.
>>>>>>> For more options, visit this group at http://groups.google.com/**
>>>>>>> group**/algogeeks?hl=en<http://groups.google.com/group/algogeeks?hl=en>
>>>>>>> .
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Regards,
>>>>>>
>>>>>> Jalaj Jaiswal
>>>>>> Software Engineer,
>>>>>>  Zynga Inc
>>>>>> +91-9019947895
>>>>>> *
>>>>>> *
>>>>>> FACEBOOK <http://www.facebook.com/jalaj.jaiswal89>   
>>>>>> LINKEDIN<http://www.linkedin.com/profile/view?id=34803280&trk=tab_pro>
>>>>>>
>>>>>>   --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Algorithm Geeks" group.
>>>>> To view this discussion on the web visit https://groups.google.com/d/*
>>>>> *msg/algogeeks/-/SGN_A_YrZlkJ<https://groups.google.com/d/msg/algogeeks/-/SGN_A_YrZlkJ>
>>>>> .
>>>>>
>>>>> To post to this group, send email to algogeeks@googlegroups.com.
>>>>> To unsubscribe from this group, send email to algogeeks+unsubscribe@**
>>>>> googlegroups.com <algogeeks%2bunsubscr...@googlegroups.com>.
>>>>> For more options, visit this group at http://groups.google.com/**
>>>>> group/algogeeks?hl=en <http://groups.google.com/group/algogeeks?hl=en>
>>>>> .
>>>>>
>>>>
>>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Algorithm Geeks" group.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msg/algogeeks/-/eDvKXozaZV8J.
>>>
>>> To post to this group, send email to algogeeks@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.
>>>
>>
>>
>>
>> --
>> regards,
>> Bhaskar Kushwaha
>> Student
>> CSE
>> Third year
>> M.N.N.I.T.  Allahabad
>>
>>
>>  --
>> 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.
>> 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.
> 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.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to