I ve been searching for various algorithms for the past few days and I came accross this one.
Is this the right solution to it (Greedy algorithm), or am i missing something.

`````` static void Main(string[] args)
{

int[] array = new int[71]{
72, 79, 84, 46, 14, 4, 62, 88, 58, 21, 16, 27, 13, 52, 96, 70, 28, 75,
76, 45, 5, 71, 43, 87, 64, 95, 72, 22, 43, 15, 25, 70, 64, 93, 56, 90,
84, 31, 49, 71, 29, 46, 6, 17, 81, 21, 75, 44, 2, 45, 67, 57, 93, 72,
39, 74, 43, 53, 40, 45, 87, 23, 44, 52, 1, 56, 32, 26, 32, 67, 41};
Array.Sort(array);
List<int> lista = array.ToList();
List<int> A = new List<int>();
List<int> B = new List<int>();
for (int i = 0; i <lista.Count; i++)
{
if (A.Sum() > B.Sum())
{
}
else
{
}
}
Console.WriteLine(A.Sum());
Console.WriteLine(B.Sum());
}
``````
2
Contributors
4
Replies
26
Views
4 Years
Discussion Span
Last Post by castajiz_2

Wouldn't it be more accurate if you sort descending (or loop in reverse order), so the largest items come first?

Remove lines 13 and 14, they are adding duplicates.

Edited by pritaeas

I m sorry, my for loop had to start at i=2;
-Would'nt the output be the same if i reverse the list and start from top element?

Edited by castajiz_2: sd

Would'nt the output be the same if i reverse the list and start from top element?

Depends on the numbers. Imagine a list of a hundred 1's and one 100.

Yeap, I don't know how i missed that.
If starting from the top to bottom wouldn't then this be the most accurate way to rephrase your sentence, or is there a more accurate way since all the numbers are sorted. Am i missing something?

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.