Code: Select all
List numbers = new List { 1, 2, 3, 4, 5 };
< /code>
In diesem Fall sollte das Ergebnis: < /p>
seinlist1 = {1,4};
list2 = {3,2};
list3 = {5};
< /code>
Und hier ist mein Code: < /p>
public static List ProvideLists(List originalList)
{
List result
= new List { new List(), new List(), new List() };
var listToParse = originalList;
while (listToParse.Count > 0)
{
var smalestList =
result.Aggregate((a, b) => a.Sum() < b.Sum() ? a : b);
var biggestList =
result.Aggregate((a, b) => a.Sum() > b.Sum() ? a : b);
var diffSmallBig = biggestList.Sum() - smalestList.Sum();
var closestNumber =
listToParse.OrderBy(x => Math.Abs(x - diffSmallBig)).First();
listToParse.Remove(closestNumber);
smalestList.Add(closestNumber);
}
return result;
}
< /code>
Derzeit retektiert dieser Code: < /p>
list1 = {3};
list2 = {5,2};
list3 = {4,1};
