Re: [algogeeks] find triplets in an integer array A[] which satisfy condition: a[i]^2 + a[j]^2 = a[k]^2

2010-12-13 Thread Akash Agrawal
Thanks everyone; that O(n^2) is an awesome solution. Regards, Akash Agrawal http://tech-queries.blogspot.com/ On Thu, Dec 2, 2010 at 12:21 PM, fenghuang wrote: > @anoop > when you find some i and j(i < j) meet the condition i.e. asq[i] + asq[j] > == asq[k], you can merge the same value without

Re: [algogeeks] find triplets in an integer array A[] which satisfy condition: a[i]^2 + a[j]^2 = a[k]^2

2010-12-01 Thread fenghuang
@anoop when you find some i and j(i < j) meet the condition i.e. asq[i] + asq[j] == asq[k], you can merge the same value without rollback. in this sense, you are right. On Thu, Dec 2, 2010 at 2:26 PM, anoop chaurasiya wrote: > @fenghuang try this array: > a[]={3,3,3,3,3,3,4,4,4,4,4,4,5} > so as

Re: [algogeeks] find triplets in an integer array A[] which satisfy condition: a[i]^2 + a[j]^2 = a[k]^2

2010-12-01 Thread anoop chaurasiya
@fenghuang try this array: a[]={3,3,3,3,3,3,4,4,4,4,4,4,5} so asq[]={9,9,9,9,9,9,16,16,16,16,16,16,25} here as u can see the total number of requisite triple pairs are 6*6=36, in general for above array total number of pairs is (n/2)*(n/2) i.e. n^2/4 where n is the size of the array. by using O(n)

Re: [algogeeks] find triplets in an integer array A[] which satisfy condition: a[i]^2 + a[j]^2 = a[k]^2

2010-12-01 Thread fenghuang
@anoop in fact, it always work even if there are repeated elements, because they don't change the decision. in detail, assume ii, ,jj, kk is one of the answers, then a[ii]+a[jj]=a[kk]. since the array is sorted, so a[ii-1]+a[jj] <= a[kk] and a[ii] + a[jj+1] >= a[kk]. so when you try the pair of 'i

Re: [algogeeks] find triplets in an integer array A[] which satisfy condition: a[i]^2 + a[j]^2 = a[k]^2

2010-12-01 Thread anoop chaurasiya
sorry for the interruption,we can make it work even if the elements are repeated, by removing the duplicacy in linear time(as the array is already sorted) and taking a count of no. of duplicates in the seperate array. On Wed, Dec 1, 2010 at 9:37 PM, Senthilnathan Maadasamy < senthilnathan.maadas..

Re: [algogeeks] find triplets in an integer array A[] which satisfy condition: a[i]^2 + a[j]^2 = a[k]^2

2010-12-01 Thread Senthilnathan Maadasamy
A small correction to the algorithm above. In Step 3, instead of finding * any* pair (a,b) such that a+b = x we need to find *all* such pairs. However the complexity remains the same. -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post

Re: [algogeeks] find triplets in an integer array A[] which satisfy condition: a[i]^2 + a[j]^2 = a[k]^2

2010-12-01 Thread fenghuang
should it be O(n^2*lgn)? for each x in n, it's O(n), and for each a, it'sO(n), and searching b, it's O(lgn), so it's O(n*n*lgn),Thank You! On Wed, Dec 1, 2010 at 11:02 PM, Senthilnathan Maadasamy < senthilnathan.maadas...@gmail.com> wrote: > Hi, > How about the following approach? > > Step

Re: [algogeeks] find triplets in an integer array A[] which satisfy condition: a[i]^2 + a[j]^2 = a[k]^2

2010-12-01 Thread Senthilnathan Maadasamy
Hi, How about the following approach? Step 1: Replace each array element with its square - O(n) Step 2: Sort the array - O(n*log(n)) Step 3: For each element x in the array Find two elements a, b in the array (if any) such that a+b = x. Since finding

Re: [algogeeks] find triplets in an integer array A[] which satisfy condition: a[i]^2 + a[j]^2 = a[k]^2

2010-12-01 Thread Algoose chase
If you store the squares of elements in a hash table, you dont need a binary search reducing the running time by a factor of log_base2(n) On Wed, Dec 1, 2010 at 12:50 AM, Akash Agrawal wrote: > Guys, > > I have written a blog post for finding triplets in an integer array A[] > which satisfy fol

[algogeeks] find triplets in an integer array A[] which satisfy condition: a[i]^2 + a[j]^2 = a[k]^2

2010-11-30 Thread Akash Agrawal
Guys, I have written a blog post for finding triplets in an integer array A[] which satisfy following condition: a[i]^2 + a[j]^2 = a[k]^2 http://tech-queries.blogspot.com/2010/12/finding-triplets-in-integer-array.html I believe that more optimization are possible. It will be very helpful if one