您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

如何从列表中获取最接近的数字 与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)

其他 2022/1/1 18:19:46 有412人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶