如何从列表中获取最接近的数字 与LINQ?

如何从列表中获取最接近的数字 与LINQ?,第1张

如何从列表中获取最接近的数字 与LINQ?

如果您使用LINQ to
Objects
并且列表很长,我将使用:

List<int> list = new List<int> { 2, 5, 7, 10 };int number = 9;int closest = list.Aggregate((x,y) => Math.Abs(x-number) < Math.Abs(y-number) ? x : y);

这种方法比Anthony
Pegram建议的解决方案稍微复杂一些,但是它的优点是您不必先对列表进行排序。这意味着您的时间复杂度为,

O(n)
O(n*log(n))
内存使用量
O(1)
O(n)



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5567367.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存