gpt4 book ai didi

linq - 如何使用 LINQ 选择最小子序列?

转载 作者:行者123 更新时间:2023-12-04 14:28:05 25 4
gpt4 key购买 nike

如果我有一系列高尔夫结果:

 -3, +5, -3, 0, +1, +8, 0, +6, +2, -8, +5

我需要找到具有最小总和的三个相邻数字的序列。对于此示例,子序列将是:
 [-3, +5, -3]
[+5, -3, 0]
[-3, 0, +1]
... etc ...
[+2, -8, +5]

最小序列是 [-3, 0, +1]总和为-2。

最佳答案

您可以使用此 LINQ 查询:

int[] golfResult = { -3, +5, -3, 0, +1, +8, 0, +6, +2, -8, +5 };
var combinations = from i in Enumerable.Range(0, golfResult.Length - 2)
select new {
i1 = golfResult[i],
i2 = golfResult[i + 1],
i3 = golfResult[i + 2],
};
var min = combinations.OrderBy(x => x.i1 + x.i2 + x.i3).First();
int[] minGolfResult = { min.i1, min.i2, min.i3 }; // -3, 0, +1

当然,您需要检查数组中是否至少有三个结果。

关于linq - 如何使用 LINQ 选择最小子序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22963393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com