so what will ur algo give for array 1,200,500,2000

On 5/15/10, divya jain <sweetdivya....@gmail.com> wrote:
> my approach:
> 1. sort the array
> 2. take a variable diff. intitialize it to 0.
> 3. take the 1st element from array nd place it in array A and 2nd element in
> array B. stoe in diff sum(A)-sum(B).
> 4. now place the next element in array A or B according to the condition if
>        if sum(A+element)-sum(B)> sum(a)-sum(B+element). store the element in
> B  otherwise in A. also while storing the element in ny array maintain the
> count of element in that aaray. if any time the count reaches n/2 where n is
> the no. of elements in  the given aaray. then store rest element in the
> other array.
> 5. repeat step 5 until both array A n B get n/2 elements..
>
> hope my approach is clear and correct.
> comments are welcomed.....
>
> On 15 May 2010 08:47, Rohit Saraf <rohit.kumar.sa...@gmail.com> wrote:
>
>> Choosing a greedy strategy for this would be difficult.
>>
>> For a simple dp you can
>> maintain A[i,total,present] using a recurrence
>>
>> i is the present index of array
>> total is the number of elements reqd in first partition.
>> present is the no of elements already there in first partition.
>>
>> the array stores difference between sums. GET the minimum of all these
>> and backtrack.
>>
>>
>> On 5/15/10, Amir hossein Shahriari <amir.hossein.shahri...@gmail.com>
>> wrote:
>> > @karas: your solution is greedy and its wrong e.g. for {1,2,3,4,5,100}
>> your
>> > diff would be 95 but the best result is 91
>> >
>> > i think we can solve this problem by dynamic programming but not a
>> > simple
>> > one! since the size of the two subsets must be equal.
>> > so it's DP solution has at least 3 dimensions: tow dimensions
>> representing
>> > the number of elements in each subset and another for the difference
>> between
>> > their sums
>> >
>> > On Fri, May 14, 2010 at 10:11 PM, W Karas <wka...@yahoo.com> wrote:
>> >
>> >> On May 14, 4:51 am, divya <sweetdivya....@gmail.com> wrote:
>> >> > Algorithm to partition set of numbers into two s.t. diff bw their
>> >> > sum is min and they hav equal num of elements
>> >>
>> >> void part(const int a[], int n_a, int g1[], int g2[])
>> >>  {
>> >>    int i, j, k;
>> >>
>> >>    /* diff = sum(g1) - sum(g2) */
>> >>    int diff;
>> >>
>> >>    sort(a, n_a);
>> >>
>> >>    diff = 0;
>> >>    for (i = 0, j = 1, k = 0; j < n_a; ++k, i += 2, j += 2)
>> >>      {
>> >>        if ((a[i] > a[j]) == (diff > 0))
>> >>          {
>> >>            g1[k] = a[j];
>> >>            g2[k] = a[i];
>> >>          }
>> >>        else
>> >>          {
>> >>            g1[k] = a[i];
>> >>            g2[k] = a[j];
>> >>          }
>> >>        diff += g1[k] - g2[k];
>> >>       }
>> >>  }
>> >>
>> >> --
>> >> 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>
>> <algogeeks%2bunsubscr...@googlegroups.com<algogeeks%252bunsubscr...@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.
>> >
>> >
>>
>>
>> --
>> --------------------------------------------------
>> Rohit Saraf
>> Second Year Undergraduate,
>> Dept. of Computer Science and Engineering
>> IIT Bombay
>> http://www.cse.iitb.ac.in/~rohitfeb14<http://www.cse.iitb.ac.in/%7Erohitfeb14>
>>
>> --
>> 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.
>
>


-- 
--------------------------------------------------
Rohit Saraf
Second Year Undergraduate,
Dept. of Computer Science and Engineering
IIT Bombay
http://www.cse.iitb.ac.in/~rohitfeb14

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