提问人:Louis 提问时间:11/1/2023 更新时间:11/1/2023 访问量:35
C# - 按列表包含的值数组织列表 - C#
C# - Organizing a list of lists by the number of values they contain - C#
问:
嘿,我试图解决编码问题。 我想找到起始价值低于 100 万的最大 collatz sequenz。 在 collatz sequenz 中,如果起始值是偶数,则除以 2,如果是偶数,则乘以 3 + 1。 为此,我想用 while(i != 1) 循环 an 到 if 语句来做一个 for 循环来做方程。对于每个数字,我想制作一个新列表并将每个列表放在另一个列表中。然后,我想按它们包含的值数来组织它们,以便我可以返回最大的 sequenz。 任何人都可以告诉我如何在 c# 中编译它。 我非常感谢您的帮助。
for(int i = 2; i < 1000000; i++)
{
while (i != 1)
{
List<int> z = new List<int>();
z.Add(i);
if (i % 2 == 0)
{
i = i / 2;
z.Add((int)i);
}
if (i % 2 != 0)
{
i = i * 3 + 1;
z.Add((int)i);
}
}
}
答:
2赞
JonasH
11/1/2023
#1
像这样的东西?
var listOfLists = new List<List<int>>();
for(int i = 2; i < 1000000; i++)
{
while (i != 1)
{
List<int> z = new List<int>();
...
}
listOfLists.Add(z);
}
...
var largest = listOfLists.MaxBy(list => list.Count);
var ordered = listOfLists.OrderByDescending(list => list.Count).ToList();
评论